限制用户进程CPU和内存占用在Linux

限制进程占用CPU的问题是给shell脚本代码如下:



重调+ 10 ` ps aux awk的|;{如果(3美元U1美元2美元0.8号打印} ',500);



事实上,它使用ps获取过程信息。



CPU的含义是CPU时间与生存时间之比,它可以通过进程反映CPU的消耗,但不能准确反映整个CPU对CPU占用时间的百分比。



最高输出的CPU正好是整个系统CPU占用的CPU时间的百分比,这更合理地限制了进程CPU的占用率。同时,%也反映了进程占用的内存所占的百分比,可以用来限制进程的内存占用率。



shell脚本代码如下所示:



# /斌/ SH!



pid = `顶BN 1 grep{ }^ * 1-9 |;|;awk ‘{如果(9美元的10美元的ID 50 | | 25 - 2美元印钞1美元} ',500);



在PID PID美元







重调+ 10美元的PID



回声重调+ 10美元pid



多恩



你可以运行cron脚本,如检查一次一分钟,只是添加了root身份crontab条目:



# crontab -e



* * * * limit.sh



之后,每分钟检查一次,调整占用超过50% CPU或25%内存的进程的好值,这样减少了进程优先级,减少了调度的机会。同时,邮件被发送到根目录以指示流程被调整。



然而,限制内存使用的最好的方法是使用PAM和RedHat可设置 / / / limits.conf安全等。