标签: cpu

过热导致系统关闭

我一直遇到过热问题,这使我的笔记本电脑立即关机。无论如何,是否可以监控传感器的温度并降低 CPU 频率以避免该问题?是否有任何现有的软件或 shell 脚本可以处理该工作?

linux cpu monitoring temperature

11
推荐指数
2
解决办法
2531
查看次数

为什么top会报错误的CPU使用率?

我有一台机器,Intel(R) Xeon(R) CPU E5520可见 16 个逻辑核心(8 个带 HT)。如果我运行一些消耗 CPU 时间(单线程)的东西,top 会正确报告进程的 100% CPU 使用率,但总使用率只有 3-4% 左右。

Cpu(s):  3.6%us,  0.0%sy,  0.0%ni, 96.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.1%st

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1567 www       20   0 65632   84    4 R  100  0.0   0:05.96 burnMMX
Run Code Online (Sandbox Code Playgroud)

当然,报告的使用率应该是 ~6.25%(16 个内核中的 1 个)。

  • 因为它是虚拟机所以不正确吗?
  • 我怎样才能计算出正确的值?

linux cpu top

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

使用任务集设置运行进程关联失败

我试图将进程限制为给定数量的 CPU 内核。根据任务集手册页和本文档,以下内容应该有效:

[fedora@dfarrell-opendaylight-cbench-devel ~]$ taskset -pc 0 <PID>
pid 24395's current affinity list: 0-3
pid 24395's new affinity list: 0
Run Code Online (Sandbox Code Playgroud)

简单地说——这行不通。将进程置于负载和监视之下top,它的 CPU 使用率约为 350%(与没有任务集时相同)。它应该最大为 100%。

我可以通过taskset -c 0 <cmd to start process>在进程生成时正确设置亲和力。使用cpulimit -p <PID> -l 99有点工作。在这两种情况下,将进程置于相同的负载下会导致 CPU 使用率达到 100%。

这里出了什么问题?

linux cpu

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

如何让所有进程在 Ubuntu 的每个 CPU 核心上运行?

我在 Ubuntu14.04 服务器上工作,它有 48 个 CPU 内核。我从 sar 信息中看到一个核心上的 CPU 使用率很高。所以我想知道在那个核心上运行了哪些进程。我应该如何让所有进程在 Ubuntu 的每个 CPU 内核上运行?

linux cpu process top ps

11
推荐指数
3
解决办法
5万
查看次数

cpu和核心有什么区别?

lscpu我的电脑的输出看起来像 -

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Stepping:              1
CPU MHz:               1200.093
BogoMIPS:              3392.08
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
Run Code Online (Sandbox Code Playgroud)

这是否意味着我有 4 个 CPU 和 2 个内核?

linux cpu

11
推荐指数
2
解决办法
9623
查看次数

11
推荐指数
1
解决办法
1824
查看次数

将 CPU 调控器设置为“性能”有什么含义?

我最近读到我可以通过将调控器设置为“性能”而不是“节能”来提高 CPU 的性能。根据Arch wiki,这将“以最大频率运行 CPU”而不是“最小频率”。

我发现这个措辞令人困惑,所以我也阅读了内核文档

2.1 性能

CPUfreq 调控器“性能”将 CPU 静态设置为 scaling_min_freq 和 scaling_max_freq 边界内的最高频率。

2.2 节电

CPUfreq 调控器“powersave”将 CPU 静态设置为 scaling_min_freq 和 scaling_max_freq 边界内的最低频率。

“静态”是什么意思?对我来说,它与“动态”形成对比,并暗示频率永远不会改变,即使用 powersave CPU 频率将始终是单个值,等于scaling_min_freq。然而,情况显然并非如此。我目前默认运行“powersave”。我可以监视 CPU 频率

$ watch grep \"cpu MHz\" /proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)

并看到它们动态变化。

内核文档中的“静态”是什么意思?哪些因素会影响 CPU 频率,这些因素如何随着“省电”和“性能”而变化?那么,从前者到后者有什么意义呢?会使用更高的频率吗?在什么情况下?具体来说,这会影响 CPU 的功耗、热量和使用寿命吗?

linux cpu kernel power-management cpu-frequency

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

我可以在我的电脑上运行 64 位 ubuntu 吗(&gt; 10 岁)

我对 CPU 一无所知。我有一个 32 位版本的 ubuntu。但我需要安装 64 位应用程序。我开始知道不可能在 32 位操作系统上运行 64 位应用程序。所以我决定升级我的操作系统。但是我的一个朋友告诉我在新升级之前检查CPU规格。我按照网站上的建议运行此命令。 lscpu命令提供以下详细信息

Architecture:        i686
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               23
Model name:          Pentium(R) Dual-Core  CPU      E5300  @ 2.60GHz
Stepping:            10
CPU MHz:             1315.182
CPU max MHz:         2603.0000
CPU min MHz:         1203.0000
BogoMIPS:            5187.07
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 …
Run Code Online (Sandbox Code Playgroud)

linux cpu cpu-architecture

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

Intel CPU 不断降到最低频率 - Ubuntu 20.04

我在这里束手无策,可以使用一些额外的意见。长话短说(更多详细信息见下文),我的系统不断限制 CPU 速度,直到我能够拔掉笔记本电脑的电池后才能恢复。


->问题描述

本质上,当一切都配合时,我的 CPU 运行良好。我正在使用 Conky 监控 CPU 速度和使用情况,并且可以观察倍频器根据负载进行适当缩放。我还观察到“涡轮”在高负载下启动。

然后,在没有任何明显原因的情况下,我的 CPU 降速到最低 400 MHz,并无限期地保持在这个水平。这包括重新启动或关闭后 - 它将重新启动到 400 MHz。如果我在此模式下将 CPU 使用率提高到 100%,它将保持在 400 MHz。我尝试使用 cpufrequtils 强制 CPU 频率,但它没有移动 ( sudo cpufreq-set -f `cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq)。还尝试重置 cpufrequtils 服务sudo /etc/init.d/cpufrequtils restart,CPU 仍然受到限制。我现在已经删除了 cpufrequtils,希望它本身可能会干扰 CPU,但可惜问题仍然存在。我能够用来恢复设备的唯一可靠方法是短时间(1-2 分钟)断开电池连接。正如您可能想象的那样,这是相当痛苦的。

帮助?


->系统信息

内核: 5.8.0-41-generic

发行版: Ubuntu 20.04.2 LTS

CPU:第 11 代 Intel(R) Core(TM) i7-1185G7 @ 3.00GHz

笔记本电脑制造商: MSI

笔记本电脑型号: Prestige 15 A11SCX-002


-> “cpupower 频率信息”的输出

analyzing CPU 0:
driver: intel_pstate
CPUs …
Run Code Online (Sandbox Code Playgroud)

linux cpu ubuntu kernel intel

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

交换空间已满时 CPU 过热且 PC 关闭

这不一定是 Linux 问题,但无论如何我都会在这里问它。我使用的工作站主要用于训练深度学习和机器学习模型。我在 CPU 和 GPU 上运行训练代码。

\n

CPU:AMD Ryzen 9 5950X 16 核处理器

\n

显卡:NVIDIA GeForce RTX 3090

\n

操作系统:Ubuntu 22.04 LTS

\n

我使用的库(PyTorch、XGBoost、LightGBM 等)大量利用交换内存来加载数据。在处理大型数据集时,交换内存会缓慢积累并超过限制 (2GB)。当这种情况发生时,所有核心都会变得疯狂,CPU 会过热。几秒钟后工作站自行关闭。

\n

我是一名数据科学家,但我不擅长硬件。我花了几周时间才弄清楚为什么我的工作站总是自动关闭。我必须找到一种方法来防止这种情况发生,因为我无法再完成自己的任务了。您有什么建议?

\n

向您提供更多详细信息,这在 3-4 个月前还没有发生。最近才开始。

\n

编辑:添加了 nvidia-smi 和传感器输出,同时训练两个模型(UNet 和 YOLOv6)。

\n

英伟达-SMI

\n
+-----------------------------------------------------------------------------+\n| NVIDIA-SMI 510.73.05    Driver Version: 510.73.05    CUDA Version: 11.6     |\n|-------------------------------+----------------------+----------------------+\n| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |\n| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |\n|                               |                      |               MIG M. |\n|===============================+======================+======================|\n|   0 …
Run Code Online (Sandbox Code Playgroud)

linux cpu ubuntu hardware

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