ps_mem.py 与 top-内存使用情况?

ps_mem.py 与 top-内存使用情况?

我的 Apache 服务器时不时会崩溃,并出现错误,提示已达到 MaxClients 数。在我的研究中,我得到的印象是内存可能不足(刚刚检查过,MaxClients 设置为 1500,但 Apache 进程数在 40 到 100 之间徘徊)

无论如何,这只是一点背景知识。

当我运行时,top我被告知我总共有大约 15GB,使用了 14GB,而空闲空间目前似乎徘徊在 500MB - 1GB 之间(尽管大约一小时前它大约有 3-4 GB 是免费的)

但是我也运行了,ps_mem.py结果显示只使用了 3-4 GB!

为什么会有差异?哪一个才是正确的?

答案1

ps_mem.py在我看来更精确一点,因为评估共享内存的数量,纠正顶部有错误的地方。

top 读取/proc/<PID>/statm,而 ps_mem.py 读取更详细的信息,/proc/<PID>/smaps并更精确地评​​估多处理守护进程的总使用情况。

有关详细信息,我建议阅读通过ps_mem.py代码

相关内容