标签: cpu

是否可以限制进程可以占用多少 CPU 功率?

我想知道,有没有办法告诉进程它可以占用多少处理器能力?

问题是我正在使用Arista(视频转换器)转换视频,我对疯狂运行的风扇感到恼火,当我查看任务监视器时,它占用了超过 92% 的 CPU。

我可以(以某种方式)告诉它只需要 20% 吗?

谢谢

cpu cpulimit

17
推荐指数
2
解决办法
1911
查看次数

Linux 上的 32 位、64 位 CPU 操作模式

我糊涂了。运行 Fedora Linux,lscpu产生:

Architecture:            i686
CPU op-mode(s):          32-bit, 64-bit
...
Run Code Online (Sandbox Code Playgroud)

但是当我尝试安装 64 位程序 (Chrome) 时,出现如下错误:

包 /....x86_64.rpm 具有不兼容的架构 x86_64。有效的架构是 ['i686', 'i586', 'i486', i386']

我对能够安装 Chrome 不太感兴趣,更感兴趣的是为什么lscpu说我的 CPU 可以在 64 位模式下运行;显然,这并不意味着我可以运行 64 位程序。任何人都可以澄清吗?

linux cpu 64bit x86

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

在 linux 上禁用四核处理器上的 cpu 内核

我想禁用 3 个 CPU 内核并在单个内核上运行我的处理器。我使用过命令:maxcpus=1. 但在此之后我执行了这个命令ls /sys/devices/system/cpu。它仍然显示cpu0,cpu1,cpu2,cpu3

我也试过:echo 0 > /sys/devices/system/cpu3/online但我收到以下错误:no such file or directory

linux cpu arm

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

CPU 如何知道有 IO 挂起?

我一直iowait在研究顶部实用程序输出中显示的属性,如下所示。

top - 07:30:58 up  3:37,   1 user,  load average: 0.00, 0.01, 0.05
Tasks:  86 total,   1 running,   85 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
Run Code Online (Sandbox Code Playgroud)

iowait 一般定义如下:

“这是 CPU 空闲且有一些 IO 待处理的时间。”

我的理解是一个进程在单个 CPU 上运行。在它因为已用完时隙或被阻塞而被取消调度后,它最终可以再次在任何一个 CPU 上再次调度。

在 IO 请求的情况下,将进程置于不间断睡眠状态的 CPU 负责跟踪iowait时间。其他 CPU 将报告与它们的空闲时间相同的时间,因为它们确实处于空闲状态。这个假设正确吗?

此外,假设有一个很长的 IO 请求(意味着进程有几次被调度的机会,但由于 IO 未完成而没有被调度),CPU 怎么知道有“待处理的 IO”?这种信息是从哪里获取的?CPU 怎么能简单地发现某个进程在一段时间内进入睡眠状态以完成 IO,因为任何 CPU 都可以使该进程进入睡眠状态。“待处理 IO”的状态是如何确认的?

linux cpu top load-average

17
推荐指数
1
解决办法
3759
查看次数

理解lscpu的输出

您可以看到lscpu命令的输出-

jack@042:~$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                56
On-line CPU(s) list:   0-55
Thread(s) per core:    2
Core(s) per socket:    14
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
Stepping:              1
CPU MHz:               2600.000
CPU max MHz:           2600.0000
CPU min MHz:           1200.0000
BogoMIPS:              5201.37
Virtualization:        VT-x
Hypervisor vendor:     vertical
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K …
Run Code Online (Sandbox Code Playgroud)

cpu socket multithreading lscpu

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

Linux如何实现抢占式调度?

我正在阅读 Linux 文档项目中的 Linux 进程:https : //www.tldp.org/LDP/tlk/kernel/processes.html

进程总是在进行系统调用,因此可能经常需要等待。即便如此,如果一个进程一直执行直到它等待,那么它仍然可能使用不成比例的 CPU 时间,因此 Linux 使用抢占式调度。在这个方案中,每个进程被允许运行一小段时间,200 毫秒,当这段时间结束时,另一个进程被选择运行,原始进程等待一段时间,直到它可以再次运行。这一小段时间称为时间片。

我的问题是,这个时间是如何被跟踪的?如果进程当前是唯一一个占用 CPU 的进程,那么实际上没有检查时间是否已过期,对吗?

我知道进程会跳转到系统调用,而那些会跳转回调度程序,因此在这方面如何“交换”进程是有道理的。但是 Linux 如何能够跟踪进程在 CPU 上占用了多少时间?只能通过硬件定时器实现吗?

linux cpu process-management

17
推荐指数
1
解决办法
1935
查看次数

如何获取字、地址大小、地址总线大小、数据总线大小和指令总线大小的信息?

我想知道如何从 Linux 的命令行获取有关以下内容的信息:

  • word(即CPU一次可以处理的大小,可能不是OS的位深),
  • 地址大小(即实际地址中的位数),
  • 地址总线大小(不确定它是否与定义的地址大小相同,但我认为它们不同并且可能不同意),
  • 数据总线大小,
  • 指令大小?

linux cpu

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

upowerd 消耗 100% cpu

upowerd 消耗了近 100% 的 CPU。

我目前在 Lenovo Thinkpad E520 和运行 Core i7 和 Asus Z170a 主板的台式机上都受到此问题的影响。两者都运行 Kubuntu 15.10。但是,我在几年前在几个不同的发行版(从 Fedora 到 Arch 到 Ubuntu)上发现了这个问题的报告。

我找到了这些错误报告,但没有找到任何解决方法或解决方案:

FS#40444 : [upower] upowerd 0.99.0-2 吃掉所有资源 https://bugs.archlinux.org/task/40444

错误 #861642“upowerd 使用 100% cpu 直到被杀死”:错误:upower 包:Ubuntu https://bugs.launchpad.net/ubuntu/+source/upower/+bug/861642

错误 #876279“Upowerd CPU 使用率过高”:错误:upower 包:Ubuntu https://bugs.launchpad.net/ubuntu/+source/upower/+bug/876279

cpu top power-management

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

以更高的优先级运行进程

我想以mplayer比任何其他进程(包括 IO 进程)更高的优先级运行。我怎样才能做到这一点?

linux cpu io ionice priority

15
推荐指数
2
解决办法
3万
查看次数

perf_events 列表中的内核 PMU 事件是什么?

在搜索什么人能够监测perf_events在Linux上,我找不到什么Kernel PMU event是?也就是说,与perf version 3.13.11-ckt39perf list节目的事件,如:

branch-instructions OR cpu/branch-instructions/    [Kernel PMU event]
Run Code Online (Sandbox Code Playgroud)

总的来说有:

Tracepoint event
Software event
Hardware event
Hardware cache event
Raw hardware event descriptor
Hardware breakpoint
Kernel PMU event
Run Code Online (Sandbox Code Playgroud)

我想了解它们是什么,它们来自哪里。我对所有人都有某种解释,但Kernel PMU event项目。

perf wiki 教程Brendan Gregg 的页面我得到:

  • Tracepoints是最清楚的——这些是内核源代码上的宏,它们是监控的探针点,它们是在ftrace项目中引入的,现在每个人都在使用
  • Software 是内核的低级计数器和一些内部数据结构(因此,它们与跟踪点不同)
  • Hardware event是一些非常基本的 CPU 事件,可以在所有架构上找到,并且内核很容易访问
  • Hardware cache event是昵称Raw hardware event descriptor——它的工作原理如下

    据我所知,Raw hardware …

linux performance cpu monitoring perf-event

15
推荐指数
1
解决办法
8442
查看次数