Linux

強制使用者在某些記憶體使用後使用交換空間(使用 limits.conf?)

  • April 8, 2015

我有一個後端應用程序,由託管在我們伺服器上的開發人員在內部使用,但是,不幸的是,該應用程序需要使用 Passenger 和 Ruby,這兩者都非常佔用記憶體。

我有一個 SSD 交換文件,它應該為我們的使用提供合理的性能,我想強制這個應用程序使用交換空間並為我們的前置應用程序打開 RAM。

所以問題是,有沒有辦法強制一個程序/使用者(這個程序在特定使用者下執行)盡可能多地使用交換空間?我認為limits.conf 可能有能力,但我不希望它給出記憶體不足錯誤,只需切換到swapfile。

你應該看看cgroups(控制組)。有一些關於 ad-hoc cgroups 的資訊也說

請注意,記憶體限制僅適用於 RAM 使用——一旦任務達到此限制,它們將開始交換。

這似乎正是你想要的。


如果您的後端開發人員應用程序導致您的前端應用程序痛苦,那麼將後端內容移動到它自己的伺服器可能是一個好主意。

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