Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133166
  • 博文数量: 11
  • 博客积分: 171
  • 博客等级: 入伍新兵
  • 技术积分: 387
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-18 20:43
文章分类

全部博文(11)

文章存档

2013年(3)

2012年(8)

我的朋友

分类: LINUX

2012-02-10 10:03:01

  突然接到警报,某一台机的磁盘快要爆掉了。登录上去一看,/var分区只剩20%的空间。
  1. [root@localhost var]# df -h /var
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/sda5 3.0G 2.3G 597M 80% /var
  由上面命令可以看出,/var分区已经用了2.3G,再到/var目录内
  1. [root@localhost var]# du -sh *
  2. 12K account
  3. 2.1M cache
  4. 16K crash
  5. 28K db
  6. 32K empty
  7. 75M lib
  8. 8.0K local
  9. 96K lock
  10. 4.9M log
  11. 16K lost+found
  12. 4.0K mail
  13. 32K net-snmp
  14. 8.0K nis
  15. 8.0K opt
  16. 8.0K preserve
  17. 204K run
  18. 11M spool
  19. 8.0K tmp
  20. 24K yp
  奇怪,df命令明明显示,/var分区已经被占用了2.3G,而du命令却显示只用到100多M,搜了一下两者的区别:du是把目录下所有的文件统计另起来,而df是从文件系统考虑,统计被分配出去的空间,并且包括被程序申请占用的空间。
  如果看来,/var目录下应该有大量空间被某个程序占用了。
  1. [root@localhost var]# lsof /var
  2. COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
  3. crond      7432  root  cwd    DIR        8,5      4096 314881 /var/spool
  4. sendmail   7536 smmsp  cwd    DIR        8,5   3145728 314890 /var/spool/clientmqueue
  5. sendmail   7536 smmsp    3uW  REG        8,5 660279296 215705 /var/spool/clientmqueue/dfpA4AA2Bf007536 (deleted)
  6. crond      7538  root  cwd    DIR        8,5      4096 314881 /var/spool
  7. sendmail   7643 smmsp  cwd    DIR        8,5   3145728 314890 /var/spool/clientmqueue
  8. sendmail   7643 smmsp    3uW  REG        8,5 660234240 215708 /var/spool/clientmqueue/dfpA4AK2V9007643 (deleted)
  9. crond     15167  root  cwd    DIR        8,5      4096 314881 /var/spool
  10. crond     17323  root  cwd    DIR        8,5      4096 314881 /var/spool
  11. sendmail  17430 smmsp  cwd    DIR        8,5   3145728 314890 /var/spool/clientmqueue
  12. sendmail  17430 smmsp    3uW  REG        8,5 940290048 176076 /var/spool/clientmqueue/dfp8O8U5KJ017430 (deleted)
  由上,可看到该目录下有进程7536、17430等占用了空间,后面括号里的deleted表示该文件已经被删除了,但进程还在,所以df仍然会认为空间被占用了。
  1. [root@localhost var]# kill -9 7643 7536 17430
  杀死这些进程后,再运行df命令,磁盘空间已经正常了。
  1. [root@localhost var]# df -h /var
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/sda5 3.0G 119M 2.7G 5% /var
阅读(2053) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~