我需要限制以下命令的CPU使用率,因为它使用了100%的CPU。
shell_exec("swfrender $swfFile -X 1600 -o $imageFile");我发现我可以使用CPULimit和Nice,但我不知道如何设置它们。
谁能给我一个简单的例子来说明如何限制上述shell_exec任务的CPU使用率?
发布于 2012-11-27 16:49:54
查看一下nice手册页就会发现,您可以使用该命令启动其他已设置好的级别的推荐。因此,在您的情况下,我建议您简单地尝试一下:
shell_exec("nice -n 19 swfrender $swfFile -X 1600 -o $imageFile");我建议您找出每个类unix系统上安装的手册页。如何阅读它们以及如何在其中查找条目。首先阅读man命令的手册页:man man :-)
发布于 2012-11-27 16:51:54
我不认为shell_exec有虚拟化特性,没有shell_exec选项来做这样的事情。
如果你想使用cpulimit,这是可以的,但是你需要在PHP中做一些技巧,并且你需要释放你的shell_exec (例如。在你的下一段代码被swfrender解释之前,你不需要等待php执行结束。)
类似于(我假设您的$swfFile和$imageFile是escapeshellarg化的):
$pid = exec("swfrender $swfFile -X 1600 -o $imageFile >/dev/null 2>&1 & echo \$!");
exec("cpulimit --pid $pid --limit 65"); // 65%https://stackoverflow.com/questions/13580282
复制相似问题