标签: cpu

确定运行进程的特定处理器

我可以访问 Linux 集群的 8 核节点。登录到节点后,我可以使用以下命令查看处理器列表:

more /proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)

在我的 8 核节点中,处理器编号从 0 到 7。每个处理器都是 Intel Xeon CPU (E5430 @ 2.66GHz)。

现在假设我foo用一些参数调用程序args

foo args
Run Code Online (Sandbox Code Playgroud)

该程序foo需要很长时间才能执行(例如,数小时或数天)。调用之后foo,是否可以确定正在运行的特定处理器(即 0 到 7)foo?该top程序向我显示了进程 ID 和类似信息,但我没有看到处理器编号。这些信息是否可用?

linux cpu process top

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

有没有办法转储 CPU 的 CPUID 信息?

我很熟悉lshw/proc/cpuinfo等,但有在一个CPU的获得方法CPUID操作码

linux cpu hardware cpu-architecture

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

ACPI 组/动作未定义:处理器/LNXCPU

如果我从 AC 适配器上拔下我的笔记本电脑,我会收到如下 ACPI 错误:

May 07 21:45:04 veritas root[7067]: ACPI group/action undefined: processor / LNXCPU:00
May 07 21:45:04 veritas root[7076]: ACPI group/action undefined: processor / LNXCPU:01
May 07 21:45:04 veritas root[7078]: ACPI group/action undefined: processor / LNXCPU:02
May 07 21:45:04 veritas root[7080]: ACPI group/action undefined: processor / LNXCPU:03
Run Code Online (Sandbox Code Playgroud)

acpi_listen 倾倒

ac_adapter ACPI0003:00 00000080 00000000
battery PNP0C0A:00 00000080 00000001
processor LNXCPU:00 00000080 00000015
processor LNXCPU:01 00000080 00000015
processor LNXCPU:02 00000080 00000015
processor LNXCPU:03 00000080 00000015
processor LNXCPU:00 00000081 00000000
processor …
Run Code Online (Sandbox Code Playgroud)

linux cpu power-management acpi

13
推荐指数
1
解决办法
1606
查看次数

/usr/lib/xorg/Xorg 的 CPU 使用过多

我的 CPU 使用率几乎是 90%+ 在调查了 htop 的输出后,我看到,下面这个命令有一个进程占用了太多的 CPU 使用率

 /usr/lib/xorg/Xorg -nolisten tcp :0 vt1 -keeptty -auth /tmp/serverauth.eEvrhpxBUl
Run Code Online (Sandbox Code Playgroud)

看一下整个数据

alamin    1635  1634 31 06:12 tty1     00:35:13 /usr/lib/xorg/Xorg -nolisten tcp :0 vt1 -keeptty -auth /tmp/serverauth.eEvrhpxBUl
alamin    9081 26703  0 08:04 pts/0    00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn Xorg
Run Code Online (Sandbox Code Playgroud)

lspci 输出

00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller …
Run Code Online (Sandbox Code Playgroud)

linux cpu xorg

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

如何确定 PowerPC 和 Power 8(及更高版本)上的 CPU 功能?

我们可以/proc/cpuinfo在 Intel 和 ARM 机器上进行检查以了解 CPU 功能,例如 AES 和 SHA。我需要在 AIX 和 Linux 下对 PowerPC 执行相同的操作。

使用 Linux 进行测试如下所示。输出由GCC112编译场上生成

$ cat /proc/cpuinfo
processor       : 0
cpu             : POWER8E (raw), altivec supported
clock           : 2061.000000MHz
revision        : 2.1 (pvr 004b 0201)
...

processor       : 159
cpu             : POWER8E (raw), altivec supported
clock           : 2061.000000MHz
revision        : 2.1 (pvr 004b 0201)

timebase        : 512000000
platform        : PowerNV
model           : 8247-22L
machine         : PowerNV 8247-22L
firmware        : …
Run Code Online (Sandbox Code Playgroud)

linux cpu aix powerpc

13
推荐指数
1
解决办法
3760
查看次数

CPU温度经常达到100°C

我有一台配备 Intel i7-12700 32GB RAM 的新台式电脑。

我正在做构建代码的工作,我使用sensors命令来检查CPU温度,我发现大多数核心都是@ 100C。

这正常吗?

CPU硬件本身会控制频率以适应温度吗?

更新

我检查了dmesg,发现了很多日志,如下所示:

mce: CPUxx: Package temperature above threshold, cpu clock throttled
Run Code Online (Sandbox Code Playgroud)

看起来CPU控制本身不高于100C。

cpu temperature sensors

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

当 CPU/内存使用率过高时自动终止进程的 Bash 脚本

我创建了一个脚本,如果 CPU 和/或内存使用率达到 80%,它就会终止进程。发生这种情况时,它会创建一个被杀死进程的列表。我能做些什么来改善它?

while [ 1 ];
do 
echo
echo checking for run-away process ...

CPU_USAGE=$(uptime | cut -d"," -f4 | cut -d":" -f2 | cut -d" " -f2 | sed -e "s/\.//g")
CPU_USAGE_THRESHOLD=800
PROCESS=$(ps aux r)
TOPPROCESS=$(ps -eo pid -eo pcpu -eo command | sort -k 2 -r | grep -v PID | head -n 1)

if [ $CPU_USAGE -gt $CPU_USAGE_THRESHOLD] ; then
  kill -9 $(ps -eo pid | sort -k 1 -r | grep -v PID | …
Run Code Online (Sandbox Code Playgroud)

bash cpu memory shell-script cpu-usage

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

Linux上的PCB在哪里

PCB或过程控制块,在维基百科上是这样定义的

进程控制块(PCB,也称为任务控制块,[1] 任务结构或切换帧)是操作系统内核中的一种数据结构,包含管理特定进程所需的信息。PCB是“一个进程在操作系统中的体现

它的职责是:

Process identification data
Processor state data
Process control data
Run Code Online (Sandbox Code Playgroud)

那么一个工艺的PCB在哪里可以找到呢?

linux cpu process

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

如何防止在 Debian 中的特定时间运行 cron 作业?(“游戏”/“性能模式”)

它看起来像我已经Logcheck的设置为一个cron作业,每当它的运行过程中grep通过logcheck各地占用¼我的CPU。

现在我在某些时候需要我的全部 CPU 容量并让我的系统占用尽可能少的资源,除了特定/进程(我可能可以以某种方式指定)。

是否可以将带有 KDE 机器的 Debian 9.1 设​​置为某种性能模式(或“游戏模式”),以防止用户未明确启动的进程占用大量系统资源,降低后台进程的负载,最重要的是:延迟 cron 作业,直到该模式再次停止?

performance cpu cron debian laptop

12
推荐指数
2
解决办法
2112
查看次数

linux 中的 CPU 温度:节流或错误读数?

使用带有 i7-7700HQ(基本时钟 2.8Ghz)和 GTX 1050 的 Lenovo Legion Y520。

我在 linux 中收到 CPU 过热警告,它影响了我在游戏中的表现(在 Payday 2 和 CS:GO 中找到)。我在 Windows 中从来没有遇到过问题。

这是我在尝试解决此问题时发现的:

在 Windows 10 中(使用 aida64)

  • Windows 在空闲时保持在 3.4 Ghz 左右(不知道为什么在 CPU 使用率不到 3% 的情况下如此之高),温度在 50C 左右。

  • 当给 CPU 施加压力时,温度会缓慢地(在几秒钟内而不是瞬间)从大约 50C 上升到大约 75C 并舒适地保持在那里。压力时时钟速度约为2.9Ghz。利用率始终为 100%。Aida64 不报告节流。受压时,CPU 内核上的电压从大约 1.1 到 0.9 不等。

在 Arch Linux 中(使用 s-tui)

  • Linux 在空闲时保持在 2.0Ghz 左右,温度在 50C 左右。

  • 这就是奇怪的地方:当给 CPU 施加压力时,温度会立即从 50C 升至 93C 左右。压力时时钟速度正好是 3.4Ghz。利用率始终为 100%。当关闭压力测试时,温度立即回到 50C 左右,就好像什么都没发生过一样。这样做时,笔记本电脑当然不会感觉它加热到 90C+,即使在长时间压力之后也是如此。

这是一张图片,显示了温度、功率和频率如何同时下降。注意在这么短的时间内 cpu 温度变化了多少。 在 linux 中节流的图像

我该如何解决这个限制问题?在 linux …

cpu games temperature cpu-frequency intel

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