我有一些使用大量CPU的脚本是否可以限制允许进程使用的CPU数量?顺便说一下,我在CentOs 5.5上运行.
也许你可以用漂亮的?
我帮助PHP编程人员创建PHP脚本来解决类似的问题.这些是长期运行的PHP脚本,会产生大量负载.由于它们长期运行,目标是在负载过高时"暂停"它们.该脚本具有类似于以下的功能:
function get_server_load() { $fh = fopen('/proc/loadavg', 'r') $data = fread($fh, 6); fclose($fh); $load_avg = explode(" ", $data); return floatval(trim($load_avg[0])); }
脚本get_server_load()
在每个循环期间调用,如果负载大于给定的最大值,它将休眠30秒并再次检查:
set_time_limit(120); while(get_server_load() > $max_load) sleep($load_sleep_time);
这允许脚本在高负载期间将CPU时间返回给服务器.