Linux主机df和du出来的文件和磁盘大小不相同
时间:2016-01-02 20:29 来源:linux.it.net.cn 作者:IT
df 查看磁盘大小和使用空间的命令 常用的是df -h
du 查看文件或者文件夹大小的命名 常用的是du -sh *
一、问题现象的陈述
1、先列出df的结果
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 17G 2.3G 88% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/xvdb1 99G 5.7G 88G 7% /mnt
2、du的结果如下
# du -smh /* 2>/dev/null
7.6M /bin
24M /boot
164K /dev
27M /etc
4.0K /home
148M /lib
22M /lib64
16K /lost+found
4.0K /media
5.5G /mnt
8.0K /opt
0 /proc
374M /root
15M /sbin
4.0K /selinux
4.0K /srv
1001M /swap
0 /sys
44K /tmp
3.2G /usr
525M /var
初步对比df检查的系统盘占用大小大于du的执行结果,磁盘去哪里了?
二、原因的排查,这里用的是一个工具lsof
1、lsof的介绍和使用
linux 大量使用了文件。作为系统管理员,lsof 允许您对核心内存进行查看,以找出系统当前如何使用这些文件。lsof 最简单的用法可以告诉您哪些进程打开了哪些文件,以及哪些文件由哪些进程打开。在收集关于应用程序工作情况的信息时,或在进行某些可能损坏数据的操作前确保文件未被使用时,这一点特别重要,lsof 更高级的用法可以帮助您查找删除的文件。
# lsof |grep delete
nginx 1051 nobody 4u REG 202,1 5324800 394886 /usr/local/nginx/proxy_temp/3/77/0005756773 (deleted)
nginx 1051 nobody 24u REG 202,1 131072 394885 /usr/local/nginx/proxy_temp/2/80/0005756802 (deleted)
AliYunDun 22327 root 12uW REG 202,1 0 394241 /tmp/qtsingleapp-aegiss-a5d2-lockfile (deleted)
java 22635 root 1w REG 202,1 11867008131 655390 /usr/local/tomcat/logs/catalina.out (deleted)
java 22635 root 2w REG 202,1 11867008131 655390 /usr/local/tomcat/logs/catalina.out (deleted)
java 22635 root 129r REG 202,1 13774099 658029 /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/elasticsearch-1.5.2.jar (deleted)
java 22635 root 147r REG 202,1 543706 658104 /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/struts.jar (deleted)
java 22635 root 199r REG 202,1 447676 658074 /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/mail-1.4.1.jar (deleted)
最后重启服务器或者程序都可以,建议重启服务器,磁盘空间便可出来
(责任编辑:IT)
df 查看磁盘大小和使用空间的命令 常用的是df -h du 查看文件或者文件夹大小的命名 常用的是du -sh * 一、问题现象的陈述 1、先列出df的结果 # df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 17G 2.3G 88% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/xvdb1 99G 5.7G 88G 7% /mnt
2、du的结果如下 # du -smh /* 2>/dev/null 7.6M /bin 24M /boot 164K /dev 27M /etc 4.0K /home 148M /lib 22M /lib64 16K /lost+found 4.0K /media 5.5G /mnt 8.0K /opt 0 /proc 374M /root 15M /sbin 4.0K /selinux 4.0K /srv 1001M /swap 0 /sys 44K /tmp 3.2G /usr 525M /var 初步对比df检查的系统盘占用大小大于du的执行结果,磁盘去哪里了?
二、原因的排查,这里用的是一个工具lsof 1、lsof的介绍和使用 linux 大量使用了文件。作为系统管理员,lsof 允许您对核心内存进行查看,以找出系统当前如何使用这些文件。lsof 最简单的用法可以告诉您哪些进程打开了哪些文件,以及哪些文件由哪些进程打开。在收集关于应用程序工作情况的信息时,或在进行某些可能损坏数据的操作前确保文件未被使用时,这一点特别重要,lsof 更高级的用法可以帮助您查找删除的文件。 # lsof |grep delete nginx 1051 nobody 4u REG 202,1 5324800 394886 /usr/local/nginx/proxy_temp/3/77/0005756773 (deleted) nginx 1051 nobody 24u REG 202,1 131072 394885 /usr/local/nginx/proxy_temp/2/80/0005756802 (deleted) AliYunDun 22327 root 12uW REG 202,1 0 394241 /tmp/qtsingleapp-aegiss-a5d2-lockfile (deleted) java 22635 root 1w REG 202,1 11867008131 655390 /usr/local/tomcat/logs/catalina.out (deleted) java 22635 root 2w REG 202,1 11867008131 655390 /usr/local/tomcat/logs/catalina.out (deleted) java 22635 root 129r REG 202,1 13774099 658029 /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/elasticsearch-1.5.2.jar (deleted) java 22635 root 147r REG 202,1 543706 658104 /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/struts.jar (deleted) java 22635 root 199r REG 202,1 447676 658074 /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/mail-1.4.1.jar (deleted)
最后重启服务器或者程序都可以,建议重启服务器,磁盘空间便可出来 |