标签: cpu-usage

CPU 列中 % 的总和与总 CPU % 行不匹配

我不明白为什么 cpu 列中 % 的总和top与总 CPU % 行不匹配:

在此处输入图片说明

值略有不同的文本版本:

ubuntu@server:~$ top
top - 23:20:21 up  5:18,  3 users,  load average: 10.28, 10.36, 10.20
Tasks: 299 total,  11 running, 288 sleeping,   0 stopped,   0 zombie
%Cpu(s): 41.7 us,  0.0 sy,  0.0 ni, 58.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:  99007376 total, 83451488 used, 15555892 free,    36212 buffers
KiB Swap:        0 total,        0 used,        0 free.  5139148 cached Mem

  PID USER      PR  NI    VIRT    RES …
Run Code Online (Sandbox Code Playgroud)

process monitoring top cpu-usage

10
推荐指数
1
解决办法
6002
查看次数

kworker 线程 kacpid_notify/kacpid 占用 60-70% 的 CPU

我正在运行 Linux Mint,版本 19 Tara。

我的电池寿命现在非常糟糕,而且我的风扇一直开着,因为我的计算机在这个 kworker 线程上的 CPU 使用率始终为 70%。这真的开始让我烦恼了。我top一开机就运行,在我打开一个程序(终端除外)之前,这个进程就已经占用了 70% 的 CPU。

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    5 root      20   0       0      0      0 I  66.1   0.0   1:27.86 kworker/0:0-kac
Run Code Online (Sandbox Code Playgroud)

当我运行时,它会将 kworker 线程识别为在被调用和htop之间来回切换。kacpi_notifykacipid

我尝试编辑 grub,acpi=off但随后我的系统启动到黑屏,并带有闪烁的下划线,仅此而已。不会启动。

我升级了内核,所以现在运行的是 5.3.0-51-generic。到目前为止,我的研究让我认为我可能需要更新我的 BIOS,但我的计算机制造商只提供 .exe 形式的 BIOS 更新。我已经下载了exe,但我不知道从这里去哪里。

有人可以帮我吗?

kernel bios linux-mint cpu-usage

10
推荐指数
2
解决办法
8884
查看次数

如何禁用一个 CPU

我正在尝试禁用服务器的某些 CPU。
我找到了这个链接:https : //www.cyberciti.biz/faq/debian-rhel-centos-redhat-suse-hotplug-cpu/linux-turn-on-off-cpu-core-commands/,它提供我的方法如下:

这是numactl --hardware给我的:
在此处输入图片说明

我想禁用从 16 到 63 的所有 CPU,所以我编写了一个名为opCPUs.sh如下的脚本:

#!/bin/bash

for i in {16..63}; do
    if [[ "$1" == "enable" ]]; then
        echo 1 > /sys/devices/system/cpu/cpu$i/online
    elif [[ "$1" == "disable" ]]; then
        echo 0 > /sys/devices/system/cpu/cpu$i/online
    else
        echo 'illegal parameter'
    fi
done
grep "processor" /proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)

然后我执行它:./opCPUs.sh disable我可以grep在脚本中看到结果:
在此处输入图片说明

它似乎工作。

现在我认为所有进程都应该在 CPU 0 - 15 中,因为其他进程已被禁用。
所以我使用现有的流程dbus来验证如下:
ps -Lo psr $(pgrep dbus)

我明白了:
在此处输入图片说明

psr …

linux cpu ps numa cpu-usage

9
推荐指数
2
解决办法
8716
查看次数

Htop sorting CPU% column incorrectly

Sometimes when I\'m trying to diagnose what process is hogging all of my laptop\'s resources, I notice that htop will sort the CPU% column incorrectly.

\n\n

Example below:

\n\n

屏幕截图 2018-07-06 10 47 23 am

\n\n

The \xe2\x80\x9cCPU%\xe2\x80\x9d column is highlighted in the header row, so that means its sorting by that column (right?), yet it\xe2\x80\x99s all out of order. It\xe2\x80\x99s clearly not sorting it numerically, and neither is it sorting it lexicographically. I\'m not sure how else it could be trying to sort it.

\n\n …

osx top sort htop cpu-usage

8
推荐指数
1
解决办法
1873
查看次数

很多时间花在 intel_idle 上

在撰写本文时,htop在内核线程中显示了两个内核,每个内核大约占 50%(红色条)。从以前的引导我知道,随着时间的推移,这将增加到 3 个甚至 4 个内核,每个内核 50%。htop 显示的任何线程都没有超过 1% 的 CPU 使用率。这有点奇怪不是吗?

我试图进一步调查它并perf record -a以 root 身份使用我发现所有样本中有 11.3%swapper位于函数中命令的内核线程中intel_idle

我将假设此swapper命令对应于我在 htop 中看到的奇怪的 cpu 占用,但有人可以向我解释以下一些问题:

  • 这是什么原因造成的?这是错误还是我的设置?
  • 这会影响我系统的整体性能吗?
  • 我怎样才能摆脱这个?

有关我的系统的更多详细信息:

$ uname -a
Linux [...] 4.8.0-0.rc2.git2.2.fc26.x86_64 #1 SMP Wed Aug 17 22:16:04 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket: …
Run Code Online (Sandbox Code Playgroud)

power-management x86 linux-kernel cpu-usage

7
推荐指数
1
解决办法
2567
查看次数

限制 CPU 使用率 % 所有进程和内核

我最近在我的戴尔机器上安装了 Scientific linux 7(64 位),它有 2 个内核(即 2 个逻辑 CPU)。我有一段时间没有打开电脑来清洁风扇、冷却器等,当在一个(或两个)核心上使用高(例如 100%)CPU 几分钟(通常是当noveau损坏了在Firefox上显示图形或加载 PDF 文档或在终端上的任何长时间运行的命令(如make)。

在我清理系统之前,我想将 CPU 使用率 % 限制为每个核心(而不是每个进程!)大约 75 或 80%,这样我就不会意外关闭。这样,进程仍然可以利用多个 CPU,但不会将它们中的任何一个推到 CPU 使用百分比限制之上。有什么方法可以做到这一点?

power-management limit cpu-usage

7
推荐指数
1
解决办法
5413
查看次数

htop CPU% 在 ~100% 但条形图显示每个核心低得多

我正在使用 Debian 9 来托管游戏服务器。具体来说,我主持了《多人版饥荒》游戏的大约 10 个实例。

前几天我注意到其中一个实例(获得大量玩家活动)表现出性能问题。当我加载时,htop我看到CPU%正在报告,101%但顶部的条形图没有显示远高于 50% 的任何核心。

在此处输入图片说明

据我所知,CPU%显示了一个进程使用每个内核的百分比总和,所以超过 100% 是正常的,没有超过 50% 的内核也是正常的(这只是意味着该进程是多线程的),但是我相信Don't Starve Together 几乎完全是一个单线程应用程序(用于网络的多线程最少)。

顶部的条形图之一应该至少超过 90%,但没有。为什么顶部的条形图之一不超过 90%?我的处理器是 i7-6700K(4 核 8 线程 -规格表

htop cpu-usage

7
推荐指数
1
解决办法
1460
查看次数

文件系统操作的 CPU 使用率未显示在顶部

ls在 Ubuntu Linux 终端中运行以下命令(执行10,000 次)并使用该top命令监视 CPU 使用情况。虽然top显示总 CPU 使用率(第 2 行)约为 48%(13.1% 用户 + 34.9% 内核),但下面的列表并未反映正确的 CPU 使用率。只有 6.5% 的 CPU 与 bash 进程相关。注意:我已经关闭了 Irix 模式,所以 6.5% 与第 2 行的比例相同。

for i in {1..10000}; do (ls /tmp/ >/dev/null); done
Run Code Online (Sandbox Code Playgroud)

顶部截图

我还尝试htop取消选中“隐藏内核线程”选项,但得到了相同的结果。

系统的哪个部分正在使用 CPU(内核?)以及为什么它对top/隐藏htop

process top cpu-usage

6
推荐指数
1
解决办法
1172
查看次数

打印进程,按 CPU 使用率排序

我需要打印使用最多 CPU 的 10 个进程。我还需要打印他们的 ID,以及他们开始使用的命令。


我发现该命令会ps -ax -u打印所有进程及其 CPU 使用率。该命令ps -ax -u --sort pcpu打印所有进程按 %CPU 使用率排序,从最少到最多,但我只需要从最多到最少打印 10 个进程。我必须使用类似的东西sort -r进行反向排序,但该命令ps -ax -u --sort -r pcpu会产生错误。


那么,如何进行反向排序并仅打印 10 个进程?

linux process sort cpu-usage

6
推荐指数
1
解决办法
4320
查看次数

计算一段时间内 cgroup 的 CPU 使用率

如果我有这样一个cgroup中user.slice,并已CPUAccounting=true成立了,我不知道怎么一会计算特定cgroup中的CPU占用率在一段时间内(如1秒),即使用cpuacct.usagecpuacct.stat。我知道cpuacct.usage 提供了 CPU 时间(以纳秒为单位),可用于通过在一段时间内减去它的两个快照并将其除以系统在同一时间段内的总 CPU 时间来计算 CPU 百分比(正确我,如果我错了),但我不确定如何获得一段时间内的总 CPU 时间。

有没有办法获得一段时间内的总 CPU 时间或使用不同的公式/cgroup 功能来计算 CPU 使用率?提前致谢 :)

注意:我知道systemd-cgtop,它提供了一些此类信息,但是我想以编程方式计算 CPU 使用率而无需解析systemd-cgtop

cgroups cpu-usage

6
推荐指数
1
解决办法
6554
查看次数

标签 统计

cpu-usage ×10

process ×3

top ×3

htop ×2

linux ×2

power-management ×2

sort ×2

bios ×1

cgroups ×1

cpu ×1

kernel ×1

limit ×1

linux-kernel ×1

linux-mint ×1

monitoring ×1

numa ×1

osx ×1

ps ×1

x86 ×1