Linux

CentOS 5(2.6.18核心)限制程序資源消耗

  • January 26, 2012

我想限制同一伺服器上程序的資源(CPU、記憶體和網路頻寬)消耗。如果我可以將程序從一台伺服器遷移到另一台伺服器,那就太好了。

我想我正在尋找一些輕量級的虛擬化。我發現 LXC 是一個不錯的選擇。但是我們的 2.6.18 核心不支持 LXC。它是一個共享集群,所以,我不能升級核心。而且我認為“setrlimit”系統呼叫只會在達到預算時向程序發送信號,而不是像虛擬機那樣限制資源消耗(如果我錯了,請糾正我)。對這個任務有什麼建議嗎?

謝謝!

其中一些資源可以通過 pam_limits 模組進行限制。可以在以下位置找到此主要文件:

man limits.conf

在所有 Red Hat 類型的系統上,配置該文件的文件是 /etc/security/limits.conf。

很可能首先要了解的是硬限制和軟限制之間的關係。此外,一些要開始研究的指令是:

  • 中央處理器
  • 記憶體鎖

手冊頁底部有範例。

就網路頻寬而言,這更難做到(但並非不可能)。基本思想是通過 iptables 限制基於 UID 的訪問,並通過 tc(流量控制)執行流量。

man tc

引用自:https://unix.stackexchange.com/questions/26878