标签: cpu

告诉 Linux 内核 *不要* 使用某些 CPU

我正在尝试在多核机器上运行一些基准测试,我想告诉 Linux 内核简单地避免使用某些内核,除非明确告知要使用它们。

这个想法是我可以留出少量内核(机器有 6 个物理内核)进行基准测试,并使用 cpu 掩码只允许对给定内核进行基准测试。

这可行吗?

cpu benchmark linux-kernel

9
推荐指数
1
解决办法
1万
查看次数

仅使用一个 CPU 内核

我需要为我的并发程序运行性能测试,我的要求是它应该只在一个CPU 内核上运行。(我不想合作线程 - 我希望总是有一个上下文切换)。

所以我有两个问题:

  1. 最佳解决方案 - 如何仅为我的程序签名和保留一个 CPU 内核(以强制操作系统不使用此 CPU 内核)。我想这是不可能的,但也许我错了......

  2. 如何设置 linux (Fedora 24) 只使用一个 CPU 核心?

linux cpu parallelism

9
推荐指数
1
解决办法
8725
查看次数

如何禁用一个 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
查看次数

CPU 管道欠载错误

每次在 Kali Linux 2.0 上启动然后解锁我的 GUI 会话时,我都会在虚拟控制台 1 中收到另一个此错误:

[ 1235.586792] [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR* uncleared fifo underrun on pipe A
[ 1235.586827] [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思?有什么值得担心的重要事情吗?

cpu boot kali-linux

8
推荐指数
0
解决办法
1240
查看次数

我应该启用英特尔微码(Linux Mint 18)吗?

我刚刚用 KDE 安装了 Linux Mint 18。在为 wifi 配置正确的驱动程序时,我遇到了启用“英特尔 CPU 处理器微码固件”的选项。现在该设备(被描述为未知)被标记为“请勿使用”。

我应该启用这个选项吗?如果我理解正确,微码应该可以启用 CPU 中的详细更改,我不打算这样做。另一方面,我读过它可以帮助提高 CPU 的性能。你会推荐什么?

谢谢!

cpu drivers linux-mint

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

Kworker 是 100% - 我想我已经尝试了一切!

感谢您检查这个。

jonathan@melange:~$ top

top - 05:21:08 up 44 min,  2 users,  load average: 1.21, 1.68, 1.98
Tasks: 351 total,   2 running, 349 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.3 us, 14.0 sy,  2.1 ni, 70.4 id,  8.9 wa,  0.0 hi,  0.3 si,  0.0 st
GiB Mem :   15.579 total,    0.173 free,    4.141 used,   11.264 buff/cache
GiB Swap:   15.910 total,   15.868 free,    0.042 used.   11.014 avail Mem 

  PID  PPID   UID USER     RUSER    TTY          TIME+  %CPU %MEM S COMMAND                                                                                                                                   
   67     2     0 …
Run Code Online (Sandbox Code Playgroud)

cpu ubuntu kernel linux-kernel

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

了解核心 ID

只是为了理解核心 ID:

我有 4 个 CPU:

$ cat /proc/cpu* | grep proc*
processor: 0
processor: 1
processor: 2
processor: 3
Run Code Online (Sandbox Code Playgroud)

的结果nproc也是 4。

但如果我使用cat /proc/cpu* | grep 'core id'我得到相同的两次

core id: 0
core id: 2
core id: 0
core id: 2
Run Code Online (Sandbox Code Playgroud)

为什么它们不像CPU那样编号以及如何区分相同的核心ID?

全文/proc/cpuinfo如下:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Core(TM) i3 CPU       M 380  @ 2.53GHz
stepping    : 5
microcode   : 0x4
cpu MHz …
Run Code Online (Sandbox Code Playgroud)

linux cpu

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

AIX/Power 对 Spectre/Meltdown 安全吗?

由于 Intel、AMD 和 ARM 受到Spectre 和 Meltdown cpu 内核内存泄漏错误/缺陷的影响,我们可以说 Power 架构不受这些影响吗?

cpu kernel aix powerpc vulnerability

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

尽管使用了性能调节器,但处理器频率仍保持在最低水平。内核和硬件在频率上不一致?

我在 Linux (Ubuntu 18.04) 上使用带有四个处理器内核的 MacBook Retina:

$ grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name  : Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
cpu MHz     : 799.976
model name  : Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
cpu MHz     : 799.993
model name  : Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
cpu MHz     : 799.992
model name  : Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
cpu MHz     : 800.016
Run Code Online (Sandbox Code Playgroud)

为了启用这个调控器(和按需调控器),我切换到acpi-cpufreq驱动程序。按照(将 CPU 调节器设置为按需或保守)和(https://ubuntuforums.org/showthread.php?t=1767485)中的说明,我必须在以下位置启用两个内核标志grub.cfg

intel_pstate=disable processor.ignore_ppc=1
Run Code Online (Sandbox Code Playgroud)

反正。这就是 …

cpu ubuntu macintosh cpu-frequency intel

8
推荐指数
0
解决办法
821
查看次数

我是否需要针对我的微架构数据采样 (MDS) 状态采取措施?

我的dmesg输出包含以下行:

[    0.265021] MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
Run Code Online (Sandbox Code Playgroud)

访问了上述站点并阅读了一些 MDS 后,我运行/收到了以下内容:

$ cat /sys/devices/system/cpu/vulnerabilities/mds Mitigation: Clear CPU buffers; SMT vulnerable

根据该网站,这转化为:

“缓解:清除 CPU 缓冲区”......处理器易受攻击,并且启用了 CPU 缓冲区清除缓解。
“SMT 易受攻击”... SMT 已启用

我在计算方面没有很多经验,但据我所知(如果我错了,请纠正我),我的系统正在尽其所能防止 MDS。

我的问题是:

我可以采取进一步措施来保护我的系统吗?如果可以,我的下一步应该是什么?

cpu kernel buffer dmesg vulnerability

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