centos8平台使用lsof

2022-06-28 18:36:10 字數 4354 閱讀 2513

lsof,list open files 列出當前系統開啟檔案的工具。

在linux環境下,任何事物都以檔案的形式存在,

所以lsof通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體

對應的原始碼可以訪問這裡獲取: 

1,檢視lsof所屬的包

[root@blog ~]# whereis

lsof

lsof: /usr/bin/lsof /usr/share/man/man1/lsof.1

.gz[root@blog ~]# rpm -qf /usr/bin/lsof

lsof-4.91-2.el8.x86_64

2,如果提示找不到lsof命令,可以用yum安裝

[root@blog ~]# yum

install lsof

1,檢視版本

[root@blog ~]# lsof -v

lsof version information:

revision:

4.91

...

2,檢視幫助:

[root@blog ~]# lsof -h

1,檢視系統中所有開啟的檔案

[root@blog ~]# lsof

2,檢視某個使用者開啟的檔案

# -u 引數用來指定要檢視的使用者

[root@blog ~]# lsof -u mysql

command pid user fd type device size/off node name

mysqld_sa

17246 mysql cwd dir 253,1

129201372497 /usr/local/soft/mysql

mysqld_sa

17246 mysql rtd dir 253,1

272128 /mysqld_sa

17246 mysql txt reg 253,1

1219216

16999680 /usr/bin/bash

...

3,檢視有哪些程序正在開啟某個檔案?

[root@blog ~]# lsof /data/mysql/log/mysql-slow.log

command pid user fd type device size/off node name

mysqld

17700 mysql 29w reg 253,1

11018

34357947 /data/mysql/log/mysql-slow.log

說明:lsof後加檔名即可列出正在開啟檔案的程序

4,列出某個程序正在開啟的檔案(最常用的用法)

# -p 指定要檢視的程序

[root@blog ~]# lsof -p 17700

command pid user fd type device size/off node name

mysqld

17700 mysql cwd dir 253,1

4096

302055050 /data/mysql/data

mysqld

17700 mysql rtd dir 253,1

272128 /mysqld

17700 mysql txt reg 253,1

1078700088

218133053 /usr/local/soft/mysql/bin/mysqld

mysqld

17700 mysql del reg 0,17

3207767 /[aio]

mysqld

17700 mysql del reg 0,17

3207766 /[aio]

mysqld

17700 mysql del reg 0,17

3207765 /[aio]

mysqld

17700 mysql del reg 0,17

3207764 /[aio]

...

說明:輸出欄位的說明:

fd 表示檔案描述符號:

如果值是3w,表示:它的檔案描述符是 3 號,而 3 後面的 w ,表示以寫的方式開啟

type 表示檔案型別

name 表示檔案路徑

5,列出多個程序正在開啟的檔案(最常用的用法)

[root@blog ~]# lsof -p 7492,7493,7494

6,列出所有的網路連線

# -i 用來檢視網路連線的程序

7,指定的連線的型別:

列出所有tcp 網路連線資訊

[root@blog ~]# lsof -i tcp

列出所有udp 網路連線資訊

[root@blog ~]# lsof -i udp

8,列出在使用某個埠的程序

#  -i :port用來指定要檢視的埠

[root@blog ~]# lsof -i :3306

command pid user fd type device size/off node name

mysqld

17700 mysql 31u ipv6 3206926 0t0 tcp *:mysql (listen)

9,列出nginx程序現在開啟的檔案

# -c 指定要檢視的程序的名字

[root@blog ~]# lsof -c nginx

10,-n引數:不將ip轉換為hostname,缺省會進行轉換,即預設不加上-n引數,

[root@blog ~]# lsof -n -i :3306

command pid user fd type device size/off node name

mysqld

17700 mysql 31u ipv6 3206926 0t0 tcp *:mysql (listen)

11,列出所有使用fd為指定值的程序

# -d:指定檔案描述符的值

[root@blog ~]# lsof -d 1

command pid user fd type device size/off node name

systemd

1 root 1u chr 1,3 0t0 11236 /dev/null

systemd-j 513 root 1w chr 1,3 0t0 11236 /dev/null

[root@blog ~]# cat /etc/redhat-release

centos linux release

8.0.1905 (core)

centos8平台使用ulimit做系統資源限制

1,ulimit 用於shell啟動程序所占用的資源,可用於修改系統資源限制 2,使用ulimit a 可以檢視當前系統的所有限制值 使用ulimit n 可以同時開啟的檔案數 設定使用者可以同時開啟的最大檔案數 max open files 新裝的linux預設只有1024,當作為併發訪問量大的伺...

centos8平台使用mpstat監控cpu

mpstat是 multiprocessor statistics的縮寫,是實時cpu監控工具。在多cpu系統裡,其不但能檢視所有cpu的平均狀況資訊,而且能夠檢視特定cpu的資訊 它的資料來自於 proc stat檔案 對應的原始碼可以訪問這裡獲取 1,檢視所屬的包 root blog where...

centos8平台使用iotop監控磁碟io

iotop是監視磁碟i o使用狀況的top類工具,可以針對程序和執行緒統計io的使用情況 對應的原始碼可以訪問這裡獲取 root database1 yum install iotop root database1 iotop help usage usr sbin iotop options th...