Go Daddy VPS 内存使用率过高

Go Daddy VPS 内存使用率过高

我有一个 Go Daddy Linux VPS,托管一个 Java 服务器和一些其他东西。显然我们的内存不足:

[user@xxx ~]$ free -m
total       used       free     shared    buffers     cached
Mem:          4096       4090          5          0          0          0
-/+ buffers/cache:       4090          5
Swap:            0          0          0
[user@xxx ~]$

但有趣的部分来了。我无法使用“ps”找到占用大量内存的进程 - 所有列出的进程都有“合理”的内存使用率(低于 2%),但系统仍然内存不足。

尝试通过安装交换来增加可用的 VM 会导致错误(“操作不允许”)。我发现这是 OpenVZ 的限制 - 只有主机才应该交换到磁盘驱动器。

“vmstat”的输出不是很有用:

[user@xxx ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0   5548      0      0    0    0    22   105    0   15  0  1 99  0  0
[user@xxx ~]$

有什么想法可以让我找到可用内存不足的确切原因,而无需盲目终止服务并等待问题重复出现?提前致谢!

答案1

您是否在使用特定应用程序时遇到内存不足错误?或者您是否遇到性能问题?具体是什么让您认为内存不足(除了“free -m”命令之外)。

首先要检查的是大量进程是否使用少量内存。例如,如果您有 100 个进程仅使用 128mb 内存,则内存不足。

在 Linux 中,内存使用率几乎达到 100% 是很正常的。但是,我不太了解您的特定 VPS 提供商如何实现这一点,因此无法确定您的使用率是否正常。在我自己的 VPS 提供商中,我有 24mb / 512m 的可用内存,运行良好。如果需要,它会转储其拥有的近 400mb 的缓存数据。

相关内容