Mysql

大量的記憶體,但仍在交換

  • August 13, 2014

這是我的伺服器記憶體圖 在此處輸入圖像描述

您可以在圖中看到,每次我重新啟動 mysqld 時,swap 都變為零。但隨著時間的推移而增加。

如果我將 innodb 緩衝池放入大容量,則交換上升得更快,如果我降低它,則交換上升更慢。

在此處輸入圖像描述

您沒有提到任何性能問題,只是它正在使用交換。

這是完全正常的。

如果 RAM 中有不經常使用的東西,核心會將它們換掉,以便為經常使用的記憶體騰出更多空間。

這可以通過 vm.swappiness 核心參數進行調整,但通常它可以正常工作,並且將其調整為不使用交換通常會使性能更差,而不是更好。在這個問題中可以找到關於調整的一個很好的解釋:https ://unix.stackexchange.com/questions/32333/what-does-the-vm-swappiness-parameter-really-control

多少交換是可以的,一個問題有多少信號取決於很多因素——你真的只能通過在調整交換後查看一段時間的性能指標來判斷。這將取決於底層磁碟的速度、後台程序喚醒的頻率、使用該 RAM 進行記憶體與將內容保存在 RAM 中節省了多少磁碟 IO。所有這些都取決於您的硬體和工作負載。

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