Mysql

未使用 Linux 交換文件

  • February 16, 2017

我的一台執行 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

我試圖將 swappiness 從 60 增加到 100,但它沒有改變任何東西。

我沒有想法,我錯過了什麼嗎?

cached當記憶體可用時,Linux 核心不會進行太多交換。它將cache首先驅逐使用過的記憶體。

此外,您不想交換。那隻是最後的手段。你不應該擔心你的數據庫使用記憶體,他們總是這樣做。如果你把記憶體加倍,你仍然會遇到同樣的問題。未使用的記憶體是浪費的記憶體。如果核心殺死您的數據庫(OOM),您應該只擔心。

引用自:https://serverfault.com/questions/832837