![如何调试 inode 使用情况](https://linux22.com/image/567874/%E5%A6%82%E4%BD%95%E8%B0%83%E8%AF%95%20inode%20%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5.png)
我是一家热门网站的程序员,该网站由两台使用 Apache 的网络服务器托管。我们的 Alexa 排名在 ~1000 左右,供您参考。我不是服务器管理员。
其中只有一个(总是同一个)上周第一次出现问题:每隔 2-3 天,它就会完全停止,所有 HTTP 连接和 SSH 连接也会超时。如果您已经使用 SSH 输入命令,则输入命令要么非常慢(20-30 分钟后才会出现),要么根本不起作用。
我们发现,暂时解决该问题的唯一方法是重新启动服务器。
我在我们的图表中注意到了这一点:
每次峰值都对应着服务器停止运行,每次下降都对应着我们被迫进行的重启。
我该如何进一步调试?有没有办法查看哪个进程使用了最多的 inode?你会怎么做?
答案1
您嵌入的图表显示了在记忆中inode 的数量,而不是磁盘上存在的 inode 数量。增加很可能是由于此系统上打开的句柄(文件)数量也在增加。也许您的某个进程手柄漏水,检查“lsof”输出来验证这一点。