Linux 交换文件未被使用

Linux 交换文件未被使用

我的一个运行 mysql/debian 的数据库服务器内存不足。我添加了一个交换文件,但据我所知,系统没有使用它。

当我执行以下命令时,我可以确认交换已启用free -h

             total       used       free     shared    buffers     cached
Mem:          497M       489M       7.5M         0B       432K       285M
-/+ buffers/cache:       203M       293M
Swap:         1.5G       2.7M       1.5G

当我查看内存使用情况时,我可以看到我的系统内存不足,但交换未受影响。

MemTotal:         508944 kB
MemFree:            6300 kB
Cached:           292064 kB
SwapCached:           32 kB
SwapTotal:       1535996 kB
SwapFree:        1533240 kB

我尝试将交换率从 60 增加到 100,但没有任何改变。

我没什么主意了,我是不是遗漏了什么?

答案1

当内存可用时,Linux 内核不会进行太多交换cached。它将cache首先驱逐已使用的内存。

另外,您不想交换。那只是最后的手段。您不必担心数据库使用缓存,它们总是会这样做。如果您将内存增加一倍,您仍然会遇到同样的问题。未使用的内存是浪费的内存。您只需要担心内核是否会杀死您的数据库(OOM)。

相关内容