Linux

虛擬機調整以提高性能

  • November 14, 2012
vm.bdflush = 100 1200 128 512 15 5000 500 1884 2
vm.dirty_ratio = 20
vm.dirty_background_ratio = 10
vm.swappiness = 10
vm.min_free_kbytes = 300000

這意味著可以在 RAM 中的最髒數據是 20%,並且總是有 300MB RAM 是 linux 不能用來記憶體文件的,對吧?

我要做的是確保始終有空間供服務產生和使用 RAM。我有 8GB 的​​ ram 和使用 PHP 託管的網站,所以我希望有更多的空閒 RAM 待命,而不是看到自己在 50MB 的空閒 RAM 上。

我讀到非常低的 background_ratio 和更高的dirty_ratio 性能更好?

你在想這個是完全錯誤的。空閒記憶體對你沒有好處。如果您有 300MB 可用空間,那僅表示您沒有使用 300MB。您應該希望盡可能少的空閒 RAM,因為這意味著盡可能多的 RAM 正在做有用的工作。

您希望min_free_kbytes盡可能低,以便您可以使用您的 RAM,而不是讓它無所事事。

您一定在想“我想要免費的 RAM,以便以後可以使用它”。但現在比以前晚了。如果你現在使用它,你以後也可以使用它。如果您現在不使用它,那麼您將永遠失去現在使用它的機會。以後永遠不會到來——總是現在。現在使用記憶體。不要將其保存以供以後使用,因為以後您也想將其保存以供以後使用。

不是現在用4GB,以後可以用12GB。如果您現在使用 7GB,那麼 1GB 所發生的一切都被浪費了。您需要盡可能少的空閒 RAM,以便您的系統可以從您擁有的 RAM 中獲得最大收益。您無法保存 RAM。現在必須使用現在使用該 RAM 的機會,否則它將永遠失去。

限制臟頁確實有意義,因為在將內容寫入磁碟之前,臟頁不能用於其他目的。這可能會導致系統被迫無效地使用 RAM 或執行非常大的 I/O 突發。但是,我認為您真的不需要調整預設值。他們很聰明。

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