我有一台家用服务器,有时会以大约 50% 到 70% 的高 CPU 使用率运行。
在htop,我最喜欢的进程管理器中,我可以按 CPU 使用率对进程进行排序,但通常没有任何进程消耗超过 0 % 的 CPU。另一方面,htop显示系统的整个 CPU 使用率,如前所述,大约为 50%。
我想对此有一个简单的解释,但我不知道。
也许有一些隐藏的过程?但即使以 root 身份运行它也不会显示更多进程。
编辑:
我查看了top,它显示(至少)另外两个进程:
230 root 20 0 0 0 0 R 37.4 0.0 107:06.59 md127_raid5
20403 root 35 15 0 0 0 D 9.6 0.0 2:45.78 md127_resync
Run Code Online (Sandbox Code Playgroud)
所以我的 mdadm raid 目前正在重新同步,当我显示/proc/mdstat. (见第一条评论。)
所以这把问题变成了:“为什么 htop 不显示与 top 相同的进程?”
由于名为 check-new-release 的过程,我在云环境中运行的小型 Ubuntu 13.04 虚拟机实例经常变得缓慢/无响应。有什么方法可以禁用此过程并手动运行它吗?
在我上次尝试从 16.04 LTS 升级到 18.04 LTS 时(通过全新安装),我遇到了同样的问题。当我浏览互联网时,特别是当我播放视频时,我的 CPU+GPU 会快速提升到高水平,导致节流并产生无法忍受的延迟,使系统无法使用大约 60 秒或更长时间。
使用 Ubuntu 16.04 LTS 我从未遇到过这个问题。当然,温度升高和节流频繁(毕竟这是一台笔记本电脑),但系统从未无法使用,视频播放也很流畅。
我之前的解决方案是再次降级到 16.04 LTS,但现在我需要更新的版本,所以我想找到一个解决方案。
系统规格:
更新 1
绝对是频率限制的问题。系统不是通过节流 CPU 频率来避免处理器过热,而是等待温度达到限制(默认为 85ºC),然后intel_powerclamp模块触发,使系统无法使用 60 秒或更长时间。
我希望从 开始逐步性能下降intel_powerclamp,但不,它是全有或全无。¿ 可以配置吗?
我当前的解决方案是修改此答案的脚本。它似乎有效,但它是一个很大的黑客。必须有一种传统的方法来调整系统配置以实现相同的结果。
更新 2
如果我关闭频率涡轮增压 ( echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo),问题就完全消失了。温度从未达到极限,更新 1 中引入的脚本也不会intel_powerclamp触发,并且笔记本电脑运行流畅且可用。
现在的问题是涡轮增压被禁用。使用 Ubuntu 16.04 LTS 我从来没有遇到过这个问题。
这显然是 Ubuntu 18.04 LTS 热管理子系统的错误配置。有办法解决吗?
更新 3
系统仍然无法使用。安装 Ubuntu 18.04 LTS 服务器和 …
我正在寻找一种方法来记录和监控我的服务器硬件温度和负载(例如 CPU 或 RAM)。我该怎么做?
目标是:
好的,我可以使用任务栏中的小程序之一,但是日志记录呢?
在我的工作中,我们有一个运行 Ubuntu 12.04.03 CLI 的数据存储库,当我今天早上登录时检查它们而不是给我正常信息,它说信息无法显示,因为系统负载高于 2 和我想知道这是什么意思?我刚刚重新启动它,因为它没有响应,这与启动和让一切正常进行的过程有关吗?
我有一个单核 VPS,其平均负载有时会超过 25。当它达到那个速度时,它变得慢得无法忍受,甚至命令运行dash,它比 更快,使用更少的 RAM bash,也需要一段时间才能运行。如何追踪导致高负载的进程?
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
Run Code Online (Sandbox Code Playgroud)
在无人值守升级期间,CPU 使用 100% 的资源达 4 小时
例子:
无人值守升级 --dry-run --debug
2019-02-16 10:34:46,087 INFO Enabled logging to syslog via daemon facility
2019-02-16 10:34:46,087 INFO Initial blacklisted packages:
2019-02-16 10:34:46,088 INFO Initial whitelisted packages:
2019-02-16 10:34:46,088 INFO Starting unattended upgrades script
2019-02-16 10:34:46,088 INFO Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, o=UbuntuESM,a=bionic
2019-02-16 10:34:56,044 INFO Enabled logging to syslog via daemon facility
2019-02-16 10:34:56,045 INFO Initial blacklisted packages:
2019-02-16 10:34:56,045 INFO Initial whitelisted …Run Code Online (Sandbox Code Playgroud) 我的 Ubuntu 16.04 机器有 4 个 CPU 内核,其中一个(其中一个完全不同)始终具有 90% 到 100% 的负载。
无论我在做什么,即使我什么都不做,也没有打开窗户,这都是真的。它在启动后或工作数小时后立即发生。
我在这里和这里阅读了两个流行的相关问题,但不幸的是,这些都没有帮助。
在我工作的大部分时间里,我的工作效率不受此问题的影响。我知道这个问题的唯一原因是风扇总是以最大功率工作,而 Ubuntu 的系统监控显示其中一个内核负载过重。
但作为额外的表现,我的工作时间可能有 10% 受到非常糟糕的响应能力的影响。
尤其是 UI(在动画期间和对点击做出反应时)非常慢。这让我想到,也许 CPU 也在做 GPU 的工作。但这可能只是一个毫无根据的信念,下面的数据似乎也有矛盾。
我担心这个问题,如果我不能修复它,是否会对我的计算机的使用寿命产生(重大)影响。我不知道超过 90% 的恒定负载在数月或数年内对 CPU 有何影响。
无论如何,这是我可以从我的机器收集的数据,这些数据可能相关或有帮助:
top:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
415 root 20 0 0 0 0 R 97,3 0,0 1:39.30 kworker/2:2
2442 john 20 0 663828 38704 29852 S 3,3 0,5 0:00.90 gnome-terminal-
1194 root 20 0 335728 69900 …Run Code Online (Sandbox Code Playgroud) 我的 Ubuntu 18.04 随机冻结了几秒钟。我可以移动鼠标光标(有时),但否则操作系统没有响应,我无法切换到任何其他应用程序。
当它恢复时,我可以转到系统监视器并看到几秒钟前 CPU 使用率的峰值(尽管只有 70%),但这并不能告诉我当时 CPU 的使用情况。
您如何找出最近处理 CPU 的进程?(我不认为这是由于磁盘 I/O 造成的)。
更新:与此同时,我通过隔离可疑应用程序确定罪魁祸首是 WebStorm,这是一个基于 Java 的 IDE。使用 VS Code 时,没有冻结。
以下是评论中要求的一些其他诊断信息。
$ free -h
total used free shared buff/cache available
Mem: 15G 8.6G 2.3G 2.0G 4.5G 4.4G
Swap: 15G 487M 15G
$ sysctl vm.swappiness
vm.swappiness = 10
Run Code Online (Sandbox Code Playgroud)
当 WebStorm 冻结时,系统监视器中的负载确实会出现峰值,但远未达到 100%。
我只是想知道是否有任何 Ubuntu 应用程序可以跟踪我的 CPU 使用情况。
问题是我目前使用的是四核 i5,而我在日常使用中最常做的只是浏览和 Rails 开发。
所以我想要一个可以分析我的 CPU 使用率的应用程序,以便我可以决定切换回双核 i3。
谢谢。
cpu-load ×10
command-line ×2
cpu ×2
hardware ×2
temperature ×2
16.04 ×1
18.04 ×1
intel ×1
logging ×1
monitor ×1
performance ×1
process ×1
scheduled ×1
top ×1