大家好,我有一个奇怪的问题,
我有一个在 Centos 5.x 上运行的 cli php 脚本,它使用 usleep(有时 1 秒,有时 2 秒,有时 100 毫秒,这取决于)如果需要一些等待,但我注意到它一旦在 usleep() 上似乎使用大约 40% 的空闲 CPU:
Cpu(s): 5.3%us, 21.3%sy, 0.0%ni, 57.2%id, 0.0%wa, 0.0%hi, 0.0%si, 16.1%st
有任何想法吗 ?
干杯
大家好,我有一个奇怪的问题,
我有一个在 Centos 5.x 上运行的 cli php 脚本,它使用 usleep(有时 1 秒,有时 2 秒,有时 100 毫秒,这取决于)如果需要一些等待,但我注意到它一旦在 usleep() 上似乎使用大约 40% 的空闲 CPU:
Cpu(s): 5.3%us, 21.3%sy, 0.0%ni, 57.2%id, 0.0%wa, 0.0%hi, 0.0%si, 16.1%st
有任何想法吗 ?
干杯
对于我来说,这不会发生在一个非常简单的测试用例中。在您的系统上尝试以下操作,看看您是否仍然获得过多的 CPU 时间。
脚本 test.php:
<?php
for ($n=0;$n<1000;$n++)
{
usleep(10);
}
?>
然后在命令行运行:time php test.php
我的结果如下:
[ar@arctic ~]$ cat /etc/redhat-release
CentOS release 5.2 (Final)
[ar@arctic ~]$ time php test.php
real 0m1.020s
user 0m0.013s
sys 0m0.006s
您可以看到用户和系统时间与实际(或经过的)时间相比非常非常小。即 CPU 利用率非常低。
在 Windows 系统下,如果您不将脚本执行的时间限制设置为 0 set_time_limit(0);
(