什么原因导致我的 Linux 服务器(VPS)不断使用更多内存?

什么原因导致我的 Linux 服务器(VPS)不断使用更多内存?

我有一个运行 CentOS 的 VPS,上面有一些 PHP 网站。几个星期以来,它一直运行良好。

最近它变得越来越慢(无论是网站使用还是通过 SSH 登录)。我发现它持续使用越来越多的内存,直到达到最大值,然后我必须重新启动它,内存使用量会回落,但随后又不断上升。

这可能是什么原因造成的?我该如何分析/解决它?

替代文本

这是我的顶部:

替代文本

答案1

运行 top 时,您可以按 M(大写 m)按内存使用情况排序。您可以观察其中占用内存最多的内容。

如果问题出在 Apache 上,您可以通过设置或降低 MaxRequestsPerChild 参数来解决内存泄漏问题。这将在 Apache 工作进程处理完指定数量的请求后将其终止。

答案2

任何程序都可能泄漏内存;最好的办法是通过 cron 定期运行 sysstat (sar) 以定期捕获进程信息,然后查看所有进程随时间推移的内存消耗情况,并查看哪些进程在增长(或者随着时间的推移是否有更多进程)。

相关内容