很多人說virmach不好,老是suspend,我從未被suspend過,建站也很穩定,所以我就來說說怎麼操作(其實就是遵循他們的tos,如果你是abusive user,滾粗):
先讀讀tos,核心規定了:
(1)cpu不能連續5分鐘以上突發超過95%,兩小時不得高於50%,
(2)限制io,不能連續10分鐘以上超過300,
(3)限制郵件,每小時不超過100封,
那麼針對性地做幾個事情:
一,在/root/下建立cpulimit.sh 給執行許可權(放開佔用率10%以下的程式,限制60%以上的程式)
cpulimit --pid `ps aux|awk ''` --limit=99
cpulimit --pid `ps aux|awk ''` --limit=25
二,安裝cpulimt,apt-get install cpulimit -y
三,把執行cpulimt.sh寫入crontab,每隔五分鐘執行一次,如果有任何程式cpu使用超過60%,就限制到25%,同時放開占用低的程式的限制。
建站的話,這樣就夠了。
如果還要限制io,再上cgroup/blkio就可以了。至於郵件,那是自己的事情。。。
centos
先安裝epel源,
然後yum install cpulimit
來自論壇
Linux程序資源限制
在linux系統下啟動執行乙個程序時,可對該程序執行時可占用的資源進行限制。程序的資源限制通常是在系統初始化時由init程序建立的,然後後續程序繼承。用法 include int getrlimit int resource,struct rlimit rlim int setrlimit int ...
linux程序資源限制
linux程序可分為前台程序 後台程序 守護程序 前台程序 後台程序沒有脫離shell,其父程序都為shell程序,其資源限制也繼承至相應shell程序,可用ulimit工具修改其資源限制 ulimit a 檢視當前shell所有資源限制 ulimit n 檢視當前shell能開啟的檔案總數 參考文...
限制程序使用的資源
getrlimit和setrlimit函式 每個程序都有一組資源限制,其中某一些可以用getrlimit和setrlimit函式查詢和更改。include include int getrlimit int resource,struct rlimit rlptr int setrlimit int...