您的位置:首页 > 运维架构 > Linux

【Linux】lsof查看被打开的文件

2012-04-16 16:51 441 查看
今天一同事说文件系统/tmp目录下空间用满了,当时du统计目录所有文件的时候去很小。听到这个现象,第一感觉就是应该有大文件被删除,但是这个文件可能依然被其他程序打开,导致这个文件不能被清除。登上服务器使用lsof看了一下,果然如此,具体排查过程如下:

$df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 8.6G 1.5G 6.7G 18% /

/dev/sda10 784G 325G 420G 44% /u01

/dev/sda5 8.7G 7.9G 407M 96% /tmp

/dev/sda2 15G 2.8G 11G 21% /usr

/dev/sda1 122M 12M 104M 10% /boot

tmpfs 7.9G 4.0K 7.9G 1% /dev/shm

$sudo lsof | grep /tmp | sort -k7 -nr

sleep 18833 peien.htg 1w REG 8,5 8321143673 54 /tmp/netstat.log (deleted)

netstat_2 13571 peien.htg 1w REG 8,5 8321143673 54 /tmp/netstat.log (deleted)

tcprstat 18823 root 2w REG 8,5 43632 49 /tmp/myrt.daemon.log

sh 18822 mysql 2w REG 8,5 43632 49 /tmp/myrt.daemon.log

sh 18822 mysql 1w REG 8,5 43632 49 /tmp/myrt.daemon.log

myrt.pl 26045 mysql 2w REG 8,5 43632 49 /tmp/myrt.daemon.log

myrt.pl 26045 mysql 1w REG 8,5 43632 49 /tmp/myrt.daemon.log

check_age 25298 mysql 2w REG 8,5 22049 33 /tmp/check_agent.log

check_age 25298 mysql 1w REG 8,5 22049 33 /tmp/check_agent.log

mysqld 3784 mysql 6u REG 8,5 15156 13 /tmp/ibH3IFN9 (deleted)

上面lsof输出结果的第二列是PID,倒数第三列是占用空间大小

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

可以看到文件/tmp/netstat.log (deleted)占用7个多G的空间,虽然被删除了,但是还是有进程打开它。

然后,用PID看看是哪个程序占用这个文件:

$ps -ef | grep 13571

51717 13571 1 0 2011 ? 00:15:00 /bin/bash /tmp/netstat_20110829.sh

51717 21456 13571 0 09:40 ? 00:00:00 sleep 10

zhuxu 21458 17014 0 09:40 pts/0 00:00:00 grep 13571

将这个进程KILL掉后,就OK了:

$sudo kill -9 13571

$sudo lsof | grep /tmp | sort -k7 -nr | head

tcprstat 22084 root 2w REG 8,5 49339 49 /tmp/myrt.daemon.log

sh 22083 mysql 2w REG 8,5 49339 49 /tmp/myrt.daemon.log

sh 22083 mysql 1w REG 8,5 49339 49 /tmp/myrt.daemon.log

myrt.pl 26045 mysql 2w REG 8,5 49339 49 /tmp/myrt.daemon.log

myrt.pl 26045 mysql 1w REG 8,5 49339 49 /tmp/myrt.daemon.log

check_age 25298 mysql 2w REG 8,5 24583 33 /tmp/check_agent.log

check_age 25298 mysql 1w REG 8,5 24583 33 /tmp/check_agent.log

mysqld 3784 mysql 6u REG 8,5 15156 13 /tmp/ibH3IFN9 (deleted)

su 17013 root cwd DIR 8,5 4096 2 /tmp

sort 22090 zhuxu cwd DIR 8,5 4096 2 /tmp

$df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 8.6G 1.5G 6.7G 18% /

/dev/sda10 784G 325G 420G 44% /u01

/dev/sda5 8.7G 56M 8.2G 1% /tmp

/dev/sda2 15G 2.8G 11G 21% /usr

/dev/sda1 122M 12M 104M 10% /boot

tmpfs 7.9G 4.0K 7.9G 1% /dev/shm

--EOF--



原文地址: http://chenxu.yo2.cn/articles/lsof.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: