Jquery中文網 www.lfcgx.club
Jquery中文網 >  腳本編程  >  shell  >  正文 限制用戶進程CPU與內存占用率的SHELL腳本

限制用戶進程CPU與內存占用率的SHELL腳本

發布時間:2014-10-20   編輯:www.lfcgx.club
本文介紹下,一個用于限制用戶進程cpu與內存的占用率的shell腳本,有需要的朋友參考下。

在linux中限制進程CPU占用率,可以使用如下的腳本:
 

復制代碼 代碼示例:
renice +10 `ps aux | awk ‘{ if ($3 > 0.8 && id -u $1 > 500) print $2}’`

說明:ps獲取進程信息。
ps中%CPU一列的意義是進程實際占有CPU時間和它存活時間的比值,這個值能反應進程對CPU的消耗,但不能準確反應進程所占CPU時間占整個系統CPU的百分比。

而top輸出中的%CPU這一列正是進程所占CPU時間占整個系統CPU的百分比,用于限制進程CPU占用率更加合理,同時%MEM一列還反應了進程占用內存的百分比,可以用于限制進程內存占用率。

shell腳本代碼如下:
 

復制代碼 代碼示例:
#!/bin/sh
PIDS=`top -bn 1 | grep “^ *[1-9]” | awk ‘{ if($9 > 50 || $10 > 25 && id -u $2 > 500) print $1}’`
for PID in $PIDS
do
renice +10 $PID
echo “renice +10 $PID”
done

將此腳本放到cron中運行,每分鐘檢查一次,以root身份添加crontab項:
 

復制代碼 代碼示例:
#crontab -e
* * * * * limit.sh

每分鐘檢查一次,調整占用50%以上CPU或25%內存的進程的nice值,從而使這樣的進程優先級變低,被調度的機會減少,同時會向root發郵件提示該進程被調整過。

不過,限制內存使用最好還是用PAM,RedHat可以在/etc/security/limits.conf中設置。

您可能感興趣的文章:
限制用戶進程CPU與內存占用率的SHELL腳本
shell腳本統計多個CPU利用率
一個自動監控進程的shell腳本
找出1小時內占用cpu最多的10個進程的shell腳本
linux進程檢測與自動重啟的腳本一例
用于進程檢查的shell腳本 判斷是否運行某服務(圖文)
php獲取CPU使用信息
監控linux中CPU 內存 磁盤數據的shell腳本(圖文)
監測服務器內存、磁盤、cpu、swap的腳本
linux下監控進程的shell腳本一例

[關閉]
矮木头走势图
浦发信用卡可以赚钱吗 秒速飞艇 江西时时彩 时时彩后二7码 重庆时时彩网 攒劲甘肃麻将群 北京pk10稳赚心得技巧 重庆时时彩包胆玩法 重庆快乐10分规则 雪缘园即时培率 2018开奖记录开奖结果 狗万赢钱·方式 篮球竞彩分析 江西快三走势图带连线 高频彩计划手机软件 李逵劈鱼下载