睡眠如何消耗 CPU php [关闭]

Posted

技术标签:

【中文标题】睡眠如何消耗 CPU php [关闭]【英文标题】:How sleep eats CPU php [closed] 【发布时间】:2013-05-03 12:58:55 【问题描述】:

睡眠如何使用 cpu 资源?

当你休眠你的脚本时,它是使用 100% 还是 0% 的 cpu。你可以解释吗?

据我所知,它会增加平均负载,但它如何使用 CPU?

【问题讨论】:

如此易于测试。两个控制台:一个包含您的脚本,另一个包含 htoptop 或其中的任何内容。你为什么没试过? 自己看github.com/php/php-src/blob/master/ext/standard/… 如果您询问的原因是您在其上使用了 CPU 分析器,这就是通常发生的情况。比如说,你有一个小程序进入睡眠 10 秒。所以它的挂钟时间是10秒。但是,执行此操作所需的 CPU 量可能约为 1 微秒,其中 990 纳秒可用于进入和退出睡眠状态。因此,在所使用的 CPU 时间中,有 99% 处于睡眠状态。这让很多人感到困惑。 【参考方案1】:

sleep 的工作方式取决于操作系统,因为 PHP 函数 sleep calls into the appropriate runtime function 实际执行它在锡上所说的操作。

For Windows,那个函数是SleepEx。 For other operating systems 是 POSIX 函数 sleep。在这两种情况下,这些函数的文档都明确指出,睡眠线程在睡眠期间没有资格运行,因此即使它想消耗 CPU 资源也不能。

【讨论】:

您也可以发布这些文档的链接吗? linux情况下,进程不消耗CPU:unix.stackexchange.com/questions/22886/…

以上是关于睡眠如何消耗 CPU php [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从睡眠中唤醒主线程

PHP5-FPM 随机开始消耗大量 CPU

手机中如何查看流量消耗,关注哪些指标?

睡眠 休眠 关闭硬盘 分别是啥意思?

如何在从睡眠中醒来时设置 cronjob? [关闭]

防止睡眠模式