Linux下查看句柄
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下查看句柄相关的知识,希望对你有一定的参考价值。
查看各个分区的句柄数
df -ih
查看句柄最大数
ulimit -n
查看23711进程连接句柄数
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more |grep 23711
查看所有进程句柄数
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more第一列是句柄数,第二列是PID
查看连接状态
netstat -an
lsof -i
查看某个线程号的详细信息。
ps -aef|grep 24204
没有释放句柄占用的文件存放路径
用root权限登录 cd /proc
ls 会显示当前所有进程号命名的目录
找到对应进程进入
cd fd
ls
闪烁的为被标记为deleted的文件。
产生没有释放句柄的原因: 第一线程打开文件。另一个线程将该文件删除。就会出现给问题。将整儿进程kill掉才能释放全部句柄。
我的根目录的inode节点满了,没办法只有自己来看看
[[email protected] ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 1240320 1240320 0 100% /
tmpfs 126536 2 126534 1% /dev/shm
/dev/sda1 25688 38 25650 1% /boot
.host:/ 0 0 0 - /mnt/hgfs
按照上面的
lsof -n|awk '{print $2}'|sort|uniq -c|sort -n
102 1716
113 1784
170 1772
170 1774
170 1777
170 1780
170 1781
183 1718
我把靠后的进程给杀了,没用,df -i 还是一样的,继续想别的办法
我就只有一个办法了,那就是看看那个文件夹下的文件最多,写了个for循环来查看
[[email protected] /]# for i in `ls`;do find $i/ -type f|wc -l &&echo $i ;done
0
app
91
bin
22
boot
60
dev
1100
etc
8104
home
3242
lib
277
lib64
0
lost+found
0
media
36237
mnt
525
opt
find: “proc/2325/task/2325/fd/5”: 没有那个文件或目录
find: “proc/2325/task/2325/fdinfo/5”: 没有那个文件或目录
find: “proc/2325/fd/5”: 没有那个文件或目录
find: “proc/2325/fdinfo/5”: 没有那个文件或目录
27411
proc
38251
root
198
sbin
0
selinux
9
srv
7008
sys
4
tmp
79319
usr
一个media占了3W3一个tmp占了8W靠,但是多余120W的还是微不足道,看看这两个文件夹下都有什么
[[email protected] /]# du -sh tmp/
44K tmp/
[[email protected] /]# du -sh media/
4.0K media/
什么都没有,郁闷了,先给删了,再看看
[[email protected] /]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 1240320 1240316 4 100% /
tmpfs 126536 2 126534 1% /dev/shm
/dev/sda1 25688 38 25650 1% /boot
.host:/ 0 0 0 - /mnt/hgfs
删了但是只是增加了那么一点点,估计不是他两的问题,刚才的循环还没结束,继续想办法
大目录太慢,就进到下一层目录试试看
[[email protected] var]# for i in `ls /var`;do find $i/ -type f|wc -l &&echo $i ;done
1
account
find: “cache/salt/master/jobs/7c/3238b58e45f242132dade0d989314a/.minions.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/3238b58e45f242132dade0d989314a/.load.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/3238b58e45f242132dade0d989314a/jid”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/f98bd5f094921b93d5435ea81b0414/.minions.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/f98bd5f094921b93d5435ea81b0414/.load.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/f98bd5f094921b93d5435ea81b0414/jid”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/afa7d7cf12cedd5e2f121536749ded/.minions.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/afa7d7cf12cedd5e2f121536749ded/.load.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/afa7d7cf12cedd5e2f121536749ded/jid”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/master/return.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/master/out.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/.minions.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/.load.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/jid”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/c8ad7fa07b55ceaf9dd4f1fa068ee4/.minions.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/c8ad7fa07b55ceaf9dd4f1fa068ee4/.load.p”: 没有那个文件或目录
find: “cache/salt/master/jobs/7c/c8ad7fa07b55ceaf9dd4f1fa068ee4/jid”: 没有那个文件或目录
丫的终于找到了你了,果断删除就行了
以上是关于Linux下查看句柄的主要内容,如果未能解决你的问题,请参考以下文章