内存可用,但交换空间会随着时间的推移而填满

内存可用,但交换空间会随着时间的推移而填满

在我的一个小型 VPS 上,我有足够的可用内存来运行那里的程序(如下面的日志所示),但每隔一段时间,当我运行 free -m 时,我就会看到所有的交换都被占用了。

这是什么意思?我应该担心这个问题吗?还是这只是之前峰值未释放的交换量?

             total       used       free     shared    buffers     cached
Mem:           256        225         30          0          5         46
-/+ buffers/cache:        173         83
Swap:          511        511          0

答案1

内存峰值后,您的系统会使用所有交换空间。使用 ps(tor 或 htop)查找使用内存的进程。

答案2

当您看到如上文所述的“free -m”输出时,内存仍在使用中,因此您正处于“内存峰值”之中。使用交换空间的进程终止后,交换空间将立即释放。

不幸的是,很难用“ps”找出哪些进程正在占用交换空间。首先要确定的是那些也使用大量非交换内存的进程。如果您可以轻松重新启动它们,并且可以忍受服务中断几秒钟,只需“杀死”那些可疑进程,然后看看交换使用量是否会下降。

相关内容