分享一个创新工场的面试题

       那天哥去创新工厂面试,具体的孵化项目忘记了,当时有这么一道题:

       var分区占 80% , 可是用 du 命令查看发现实际空间占用率仅有 20% , 现在发现,判断一下这是什么原因造成的。

      说来也巧,自己平时的工作中还真是碰到过这样的问题,我们公司监控服务器的磁盘状态是利用 Nagios NRPE 包持续检测的,当时的情况是 Nagios 疯狂报警,但是用命令 du 查看却发现实际的使用率仅有 30% , 我用 df -h 查看,发现 var 这个分区还真的是 80% , 达到了报警阀值。

     经过查证资料发现,在 Linux 系统中,虽说 du 和 df 命令都被用于活的文件系统大小的信息, df 用于报告文件系统的总块数及剩余块数,du -s 则用于报告文件系统正在使用的块数,如果我们删除一些应用程序的日志,但是本身并没有重启该应用程序,此时应用程序依旧会使用刚才被删除的一些日志的句柄,所以就出现了 df 和 du 查到的大小不一致的情况。du或du -s或du -k  du -S | sort -n 可以迅速发现那个目录是最大的。

      解决方法就是重新启动应用程序服务,OK !


你可能感兴趣的:(linux,工作,面试,服务器,nagios,磁盘)