Linux:減少用於磁碟快取等的 RAM

Linux:減少用於磁碟快取等的 RAM

我有一個虛擬伺服器,我的提供者按資源使用向我收費。我可以設定最大 RAM 的限制,但我仍然按實際使用的 RAM 收費,而不是最大值(價格根據實際使用情況每 5 分鐘計算一次)。

通常情況下,使用所有 RAM 就可以了,但是 Linux 策略「未使用的 RAM 是浪費的 RAM」不適合這種核算,因為機器最終將使用所有可用的 RAM,即使其中大部分僅用作磁碟緩存,我還得付錢。

我喜歡將提供者的限制設置得更高一些,以適應 RAM 的峰值需求。我可以以某種方式限制用於快取等的記憶體量嗎?假設我保留 3 GB,我的應用程式 + 系統服務通常需要 1GB,但如果確實需要,我的應用程式可以額外使用 2GB RAM,但在空閒時我想限制緩存,例如最多僅使用 500 MB的免費RAM ,這樣我就不必一直為3 GB 付費。

答案1

連結的答案如何清空 Linux 系統上的緩衝區和快取向您展示如何釋放快取(頁面快取、目錄項目和索引節點)。您需要重複執行此釋放活動,也許是從 cron 執行。我不知道它是否會按照您想要的方式在 OpenVZ 容器中工作,因為 OpenVZ 的記憶體管理似乎很複雜(或者可能沒有足夠好的文件記錄)。我無意批評 OpenVZ;它是一個很棒的虛擬化解決方案,可以將許多系統壓縮到實體伺服器。

涼爽的,linux-ftools可以幫助您查看每個文件使用了多少快取頁。

您也可以嘗試交換性,並將其設為 100 以進行積極交換。

相關內容