我有近 20 个 Google Chrome 进程(虽然只打开了 4 个选项卡,所有选项卡都带有基本 HTML),所有进程都占用内存并且要么显示 futex_wait_queue_me,要么显示 poll_schedule_timeout。
我的风扇因为这一切而疯狂运转,并且其中一个进程占用了我的整个 CPU,这是怎么回事?
(Chromium 也会出现这种情况)
答案1
Chrome 在不同的进程中渲染每个页面(标签)。这使得它在多处理器机器上的运行速度更快。
您看到的行为是正常的。
futex_wait_queue_me
指的是互斥锁类型锁(快速用户空间互斥)用于在一个处理器上调度多个进程。状态表示您的进程已入队以接收锁。
有时,异常高的锁定等待时间可能是由 CPU 节流引起的,但大多数情况下,这是正常的。看看您打开的网站类型;可能是 Flash 之类的东西导致了高 CPU 负载。
要查看哪些标签或插件正在减慢您的系统速度或占用您的内存,您可以使用 Chrome 的内置任务管理器:
在我的例子中,omgubuntu 的 javascript 使用了很多 CPU。
答案2
拥有多个进程是 Chrome/Chromium 的正常行为。
futex_wait_queue_me或者poll_schedule_timeout这些进程的状态似乎还好。
您可以使用系统监视器查看某个特定进程是否占用过多 CPU。有时,有缺陷的 JavaScript 或 Flash 程序会开始占用所有 CPU。
如果您认为是这种情况,请确保某些网络应用中没有任何未保存的数据,然后终止该过程。然后 Chrome 会建议您重新加载页面。这通常可以解决问题。