我有一些使用大量CPU的脚本是否可以限制允许进程使用的CPU数量?顺便说一下,我在CentOs 5.5上运行.
Jos*_*osh 10
我帮助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]));
}
Run Code Online (Sandbox Code Playgroud)
脚本get_server_load()在每个循环期间调用,如果负载大于给定的最大值,它将休眠30秒并再次检查:
set_time_limit(120);
while(get_server_load() > $max_load)
sleep($load_sleep_time);
Run Code Online (Sandbox Code Playgroud)
这允许脚本在高负载期间将CPU时间返回给服务器.
| 归档时间: |
|
| 查看次数: |
13225 次 |
| 最近记录: |