lsof,list open files 列出當前系統開啟檔案的工具。
在linux環境下,任何事物都以檔案的形式存在,
所以lsof通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體
對應的原始碼可以訪問這裡獲取:
1,檢視lsof所屬的包
[root@blog ~]# whereislsof
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 ~]# yuminstall lsof
1,檢視版本
[root@blog ~]# lsof -vlsof version information:
revision:
4.91
...
2,檢視幫助:
[root@blog ~]# lsof -h
1,檢視系統中所有開啟的檔案
[root@blog ~]# lsof
2,檢視某個使用者開啟的檔案
# -u 引數用來指定要檢視的使用者
[root@blog ~]# lsof -u mysqlcommand 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.logcommand 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 17700command 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 :3306command 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 :3306command 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 1command 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-releasecentos 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...