www〜:免费
caching总共使用的空闲共享缓冲区
Mem:2048 1848 199 0 21 274
- / + buffers / cache:1552 496
交换:4095 4086 9
在运行apache / nginx / MySQL的Ubuntu生产networking服务器上,并为很多networking客户提供服务,看起来我们的免费交换内存空间几乎全部用完。 这是什么意思? 我知道我们应该增加更多的RAM /内存到服务器上,但是我想知道如果当前的使用量持续下去会有多糟? 我们要等到这个周末,当交换空间用完时服务器会崩溃吗? 研究停止? 运行真的很慢?
这意味着你的内存不足。 如果由于磁盘活动不稳定而不能正常运行,那么你可能有一些已经分配了内存但没有使用它的进程,然后就被换出了。 如果耗尽,系统将开始有点随机杀死进程(searchOOM杀手关于OOM究竟是如何select死亡的大量讨论)。
那么这个问题有哪些解决方法?
使用像top这样的命令来弄清楚所有内存的使用情况。 确定内存猪实际上是否需要内存,或者是否是一个错误。 如果这是一个错误,请尝试并追踪修复。
如果你无法承受中断增加内存,你可能会检查是否可以承受短暂的停电,并杀死/重新启动该过程。
用Linux可以创build交换文件 ,交换不需要在自己的分区上。 所以如果你想/需要添加更多的交换,你可以很容易地做到这一点,无需重新启动。