解决du和df命令显示磁盘空间不一致的问题

今天收到系统监控发来的警报,磁盘空间不足,登陆机器查看空间情况如下: 首先用df命令查看系统分区情况: [root@localhost var]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda7 9.7G 694M 8.5G 8% / /dev/sda1 190M 12M 169M 7% /boot none 2.0G 0 2.0G 0% /dev/shm /dev/sda6 9.7G 5.3G 3.9G 58% /home /dev/sda9 311G 184G 111G 63% /opt /dev/sda5 9.7G 55M 9.1G 1% /tmp /dev/sda3 9.7G 3.4G 5.8G 37% /usr /dev/sda2 9.7G 7.6G 1.6G 83% /var 再用du命令找出是哪个文件夹出了问题: [root@localhost var]# du -hs * 12K account 1.6M cache 16K crash 28K db 16K empty 16K ftp 8.0K gdm 2.3G lib 8.0K local 88K lock 518M log 16K lost+found 4.0K mail 232K named 16K net-snmp 8.0K nis 8.0K opt 8.0K preserve 256K run 1.8M spool 8.0K tmp 8.0K tux 15M www 24K yp 奇怪,怎么差别这么大,记得上次删除了mysql的log日志,查了一些资料,估计于文件的块有关系,du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s/;用于报告文件系统使用的块数。 原因是由于删除了应用程序的日志文件,但是程序还在运行,应用程序还在使用这些文件句柄,就导致查看的时候空间不一致的问题。 解决办法? 将相关应用程序停止一下,在开启就ok了,关键是以后操作要规范化。

经验分享 程序员 微信小程序 职场和发展