如何找出是什么“融化”了我的笔记本电脑 - 旋转风扇

And*_*lik 5 linux cpu fan google-chrome task-manager

问题:

CPU 风扇随机旋转。

为什么这是一个问题

Linux 笔记本电脑就放在我的房间里。被我没用过。风扇不规则地旋转(可能使用大量 CPU)。有时几秒钟。有时几分钟。然后又安静了。一分钟或几分钟后,风扇再次发出噪音。噪音非常烦人。如果我晚上忘记打开笔记本电脑,它就会把我吵醒。

我在问什么?

请告诉我如何追踪CPU的使用情况以及风扇的旋转情况。

有没有一个工具可以及时记录CPU占用率高的情况?理想情况下,风扇何时旋转?我想让该工具运行一段时间,然后查看收集的数据并找到根本原因(或多个)。

我已经知道什么?

我知道类似tophtop用于 Linux 进程的工具。如果我盯着它们,我可以猜测可能是什么原因,但这很困难,而且可能是错误的猜测。当Chrome浏览器很可能是这个问题时,我需要进入Chrome Task Manager(树点菜单->更多工具->任务管理器),同样的问题。我需要长时间盯着并猜测可能是什么问题。

例如,如果进程确实是 Chrome,并且有一个愚蠢的选项卡无论出于何种原因都需要使用我的所有 CPU,我可以确保在不需要时关闭它。或者我可以停止使用该网站,但我需要找出它是哪个网络应用程序(chrome 选项卡)。如果它不是 chrome,而是另一个 linux 进程,我会知道它是否合法使用或者我是否可以关闭它。或者降低优先级或以其他方式说服进程不要随机使用所有资源。

小智 1

我会使用pidstatfrom sysstatpackage 来避免脚本编写和解析top

您可以使用 来定位特定进程-C,也可以使用 来通过特定进程来监视子进程-T CHILD

假设您想知道睡觉时会发生什么。您可以让它在睡觉时运行约 8 小时

pidstat 75 384 --human > usagelog

该命令每 75 秒运行 384 次,即 28800 秒,相当于 8 小时。如果它发生在更短的时间内,您可以执行 75 的 1/3 并将 384 乘以 3,这将每 25 秒给您一个报告。

这至少可以让您在夜间清楚地了解哪些后台进程会导致 CPU 峰值。pidstat完成命令后还会给你一个不错的平均值:

Average:      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
Average:     1000      1345    0.00    0.02    0.00    0.00    0.02     -  wslbridge2-back
Average:     1000      6266    0.02    0.08    0.00    0.00    0.10     -  pidstat
Average:     1000      6269    0.08    0.04    0.00    0.00    0.12     -  zsh
Average:     1000      6275    0.04    0.06    0.00    0.02    0.10     -  wslbridge2-back
Average:     1000      6278    0.18    0.08    0.00    0.00    0.26     -  zsh
Average:     1000      6305    0.64    0.26    0.00    0.02    0.90     -  vim
Average:     1000      6310    1.54    0.54    0.00    0.02    2.08     -  node
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,当我在 shell 中只运行 vim 时,我的主要 CPU 违规者是来自coc.nvim