关注小众语言、AI技术,记录、分享技术点滴!

0%

使用watch实时查看进程的文件句柄信息

一、lsof相关使用
1、系统所有进程打开对应的句柄数

1
lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more

2、查看当前进程实时打开的文件数

1
lsof -p 进程ID |wc -l

3、查看被打开某一文件的相关进程信息

1
lsof /proc

4、查看监听端口25的进程

1
lsof -i:25

5、查看活动的连接

1
lsof -i @192.168.1.2

二、查看当前进程持有文件句柄数量和文件句柄最大限制

1、查看这个PID持有的句柄数

1
ls /proc/进程ID/fd | wc -l

2、查看当前进程句柄数量限制

1
cat /proc/进程ID/limits | grep "files"

三、查看系统总限制

1、查看系统总限制打开文件的最大数量

1
cat /proc/sys/fs/file-max

四、watch命令
watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。

1、每隔一秒高亮显示网络链接数的变化情况

1
watch -n 1 -d netstat -ant

2、每隔一秒高亮显示http链接数的变化情况

1
watch -n 1 -d 'pstree|grep http'

3、实时查看模拟攻击客户机建立起来的连接数

1
watch 'netstat -an | grep:21 | \ grep<模拟攻击客户机的IP>| wc -l'

4、10秒一次输出系统的平均负载

1
watch -n 10 'cat /proc/loadavg'

5、监测磁盘inode和block数目变化情况

1
watch -n 1 'df -i;df'