Costa Michailidis Asked: 2020-06-20 14:17:06 +0800 CST2020-06-20 14:17:06 +0800 CST 2020-06-20 14:17:06 +0800 CST 超高 CPU 使用率在使用 Zoom 时随机开始,直到我重新启动才结束 772 更新:它发生时的实时屏幕截图 所以...当我使用 Zoom 时,通常是在屏幕共享期间,或者当其他人在屏幕共享时,我所有的核心都压缩到 100%,如上面的屏幕截图所示,一切都变得非常缓慢。我可以分辨出有人告诉我有回声,Zoom 给了我“高 CPU 使用率正在减慢 Zoom”错误,但是 Zoom 是我 CPU 的问题。即使我杀死了缩放和我的浏览器,我仍然有一些奇怪的呆滞行为。我无法打开应用程序,没有什么反应灵敏。就好像某些事情永远出错了。 恢复正常功能的唯一方法是重新启动机器。 截图: 我应该扔掉我的电脑,飞到加勒比海的一个小岛然后退休吗? firefox cpu-load zoom-meeting 2 个回答 Voted Best Answer Landak 2020-06-30T12:49:00+08:002020-06-30T12:49:00+08:00 就您的计算机而言,听起来您遇到了两个问题: Zoom 是一种资源消耗。 Firefox 中的某些东西是资源消耗。 我推断你的真正意思是 我的 GUI 变得迟钝,我不喜欢它。 1 – “调整”(中断)调度程序以强制限制 CPU 密集型进程 为了处理前者,以及大声抱怨(而不是使用视频背景),您可能希望考虑限制它可以拥有的 CPU 数量。这是通过控制组或CGROUPS在 linux 中完成的,这可以有效地限制单个组的调度。例如,您可以使用 CGROUPS 让内核约束 CGROUP 内的进程以使用,例如,每 1000 毫秒(或每 1 秒中 0.1 秒)的 CPU 时间中有 100 毫秒。这会使您的 Zoom 体验变得更糟,但总体上可能会更好。 试一试sudo apt install cgroup-tools libcgroup1 libcgroup-dev,然后创建一个 cpu-limited cgroup sudo cgcreate -g cpu:/cpulimit 这里,cpulimit 是控制 cpu 使用的组名。现在,您必须在组上设置cpu.cfs_period_us和cpu.cfs_quota_us属性cpulimit。 与上面的示例保持一致,让我们将 1 s 或 1000000 us(微秒)设置为cpu.cfs_period_us属性,并将 100 ms 或 100000 us 设置为cpu.cfs_quota_us属性 sudo cgset -r cpu.cfs_period_us=1000000 cpulimit sudo cgset -r cpu.cfs_quota_us=100000 cpulimit 要检查是否是这种情况,请运行sudo cgget -g cpu:cpulimit并观察这些标志是否已设置。 现在的情况是,无论您添加到cpulimitCGROUP 的哪个进程,顾名思义,都将被限制为使用总 CPU 周期的 1/10(100000/1000000 = 1/10 = 0.1 = 10%)。至少,这可能有很大帮助。 现在要实际使用它并启动一个进程,启动程序或命令cgexec如下: sudo cgexec -g cpu:cpulimit YOUR_COMMAND where YOUR_COMMANDcan be/path/to/zoom或从字面上看其他任何东西。 2 – 在 Firefox 中寻找性能猪 Firefox 有一个漂亮的about:performance页面,可以帮助您发现饥饿的页面。通常这些人会使用大量的 javascript、展示广告,或者甚至可能粗鲁地运行,例如,在不告诉你的情况下运行加密货币矿工。除了杀死(关闭)罪魁祸首页面之外,您可能想要做的一件事是阻止这种情况再次发生,那就是冒险并使用像优秀的umatrix这样的选择性 javascript 阻止程序来防止再次发生这种情况。当然,它会破坏某些页面,但您通常会通过解锁特定链接来了解有关 Web 的一些知识;-)。 3 - 阻止你的GUI滞后 除了不经常使用的 cgroup 对处理器调度施加硬性限制外,Linux 还内置了进程优先级的概念。出于历史的原因,如果其他人可以教育我,我很想学习,Linus 将这种优先级称为niceness。我们可以修改(或sudo renice)一个进程以使其“更好”——即以更高的优先级运行。默认情况下,用户可以将进程的优先级降低到0(和最高19)并根到-20. 调度程序赋予较低niceness的进程更高的优先级。(我认为这里的想法是,一个你并不真正关心的过程——即一个“很高兴拥有”的过程——被赋予了一个更高的好处来降低它的优先级)。 对于 gnome,它 / 可能 / 有助于renicegui 降低美观度。这很容易做到;例如sudo renice -3 -p $(pgrep Xwayland) && sudo renice -3 -p $(pgrep gnome-shell)。同样,与上述类似,nice将以指定的 niceness 启动一个进程;但是在这里你需要-预先指定它——这样nice -10 /path/to/zoom就可以从zoom一个好的+10(和nice --10 /path/to/zoom一个好的-10)开始。这也/可能/是一种更好的方法。 Yeppii 2020-06-30T22:12:51+08:002020-06-30T22:12:51+08:00 这可能是 firefox 或 chrome/chromium 在后台运行的问题。或者,任何其他应用程序都在占用 RAM 或 CPU。检查系统监视器中的进程并终止该进程
就您的计算机而言,听起来您遇到了两个问题:
我推断你的真正意思是
1 – “调整”(中断)调度程序以强制限制 CPU 密集型进程
为了处理前者,以及大声抱怨(而不是使用视频背景),您可能希望考虑限制它可以拥有的 CPU 数量。这是通过控制组或CGROUPS在 linux 中完成的,这可以有效地限制单个组的调度。例如,您可以使用 CGROUPS 让内核约束 CGROUP 内的进程以使用,例如,每 1000 毫秒(或每 1 秒中 0.1 秒)的 CPU 时间中有 100 毫秒。这会使您的 Zoom 体验变得更糟,但总体上可能会更好。
试一试
sudo apt install cgroup-tools libcgroup1 libcgroup-dev
,然后创建一个 cpu-limited cgroup这里,cpulimit 是控制 cpu 使用的组名。现在,您必须在组上设置
cpu.cfs_period_us
和cpu.cfs_quota_us
属性cpulimit
。与上面的示例保持一致,让我们将 1 s 或 1000000 us(微秒)设置为
cpu.cfs_period_us
属性,并将 100 ms 或 100000 us 设置为cpu.cfs_quota_us
属性要检查是否是这种情况,请运行
sudo cgget -g cpu:cpulimit
并观察这些标志是否已设置。现在的情况是,无论您添加到
cpulimit
CGROUP 的哪个进程,顾名思义,都将被限制为使用总 CPU 周期的 1/10(100000/1000000 = 1/10 = 0.1 = 10%)。至少,这可能有很大帮助。现在要实际使用它并启动一个进程,启动程序或命令
cgexec
如下:where
YOUR_COMMAND
can be/path/to/zoom
或从字面上看其他任何东西。2 – 在 Firefox 中寻找性能猪
Firefox 有一个漂亮的
about:performance
页面,可以帮助您发现饥饿的页面。通常这些人会使用大量的 javascript、展示广告,或者甚至可能粗鲁地运行,例如,在不告诉你的情况下运行加密货币矿工。除了杀死(关闭)罪魁祸首页面之外,您可能想要做的一件事是阻止这种情况再次发生,那就是冒险并使用像优秀的umatrix这样的选择性 javascript 阻止程序来防止再次发生这种情况。当然,它会破坏某些页面,但您通常会通过解锁特定链接来了解有关 Web 的一些知识;-)。3 - 阻止你的GUI滞后
除了不经常使用的 cgroup 对处理器调度施加硬性限制外,Linux 还内置了进程优先级的概念。出于历史的原因,如果其他人可以教育我,我很想学习,Linus 将这种优先级称为niceness。我们可以修改(或
sudo renice
)一个进程以使其“更好”——即以更高的优先级运行。默认情况下,用户可以将进程的优先级降低到0
(和最高19
)并根到-20
. 调度程序赋予较低niceness
的进程更高的优先级。(我认为这里的想法是,一个你并不真正关心的过程——即一个“很高兴拥有”的过程——被赋予了一个更高的好处来降低它的优先级)。对于 gnome,它 / 可能 / 有助于
renice
gui 降低美观度。这很容易做到;例如sudo renice -3 -p $(pgrep Xwayland) && sudo renice -3 -p $(pgrep gnome-shell)
。同样,与上述类似,nice
将以指定的 niceness 启动一个进程;但是在这里你需要-
预先指定它——这样nice -10 /path/to/zoom
就可以从zoom
一个好的+10
(和nice --10 /path/to/zoom
一个好的-10
)开始。这也/可能/是一种更好的方法。这可能是 firefox 或 chrome/chromium 在后台运行的问题。或者,任何其他应用程序都在占用 RAM 或 CPU。检查系统监视器中的进程并终止该进程