Linux
虛擬機調整以提高性能
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 突發。但是,我認為您真的不需要調整預設值。他們很聰明。