Articles of cpu

%CPU列和负载在顶部

我的一个c ++应用程序显示非常高的%CPU,但负载很低。 myapp总是需要大约30%,显示在“顶部”命令的最顶部,但是负载总是像0.00,所以我很困惑,负载和%CPU列之间有什么区别? top – 14:09:54 up 62 days, 2:52, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 124 total, 1 running, 123 sleeping, 0 stopped, 0 zombie Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.0%us, 0.0%sy, 0.0%ni, 99.3%id, 0.3%wa, 0.0%hi, 0.3%si, 0.0%st Mem: 2054824k total, 1440364k used, 614460k free, […]

top命令的CPU使用率计算

我正在尝试使用GNU coreutil top公式来计算CPU使用率的百分比。 但顶部是使用一些half_total,来计算百分比,这是百分比加0.5。 在源代码的 utils.c中,下面一行(3.8 beta1,行号为459): – * out ++ =(int)((* diffs ++ * 1000 + half_total)/ total_change); 这将转换为:((* diffs ++ * 1000)/ total_change)+ 1/2所以,它总是给出一个数字,即:“10倍的百分比,再加上0.5”。 所以如果百分比是x,它将返回10x + 0.5。 任何人都可以解释这个平均值如何计算? 或至less有一些指针,我可以得到帮助? PS:为什么我们不能用(*diffs++/total_change) * 100来获得所需的百分比? Top的源代码位于: – http://downloads.sourceforge.net/unixtop/top-3.8beta1.tar.gz?modtime=1210117842&big_mirror=0

在Linux中sched_setaffinity cpu亲和力

我在一台服务器上做了一个sched_setaffinitytesting,使用1个socket,4个内核,下面的/ proc / cpuinfo显示了cpu的信息: processor : 0 model name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz cache size : 2048 KB physical id : 0 siblings : 4 cpu cores : 4 processor : 1 model name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz cache size : 2048 KB physical id : 0 […]

使用OpenMP将线程绑定到特定的CPU内核

我知道GOMP_CPU_AFFINITY将线程绑定到特定的核心。 但是,举个例子,他们在这里给出了: GOMP_CPU_AFFINITY =“0 3 2 1” 这里, thread0被连接到—> cpu0 thread1被连接到—> cpu3 thread2被连接到—> cpu2 thread3被连接到—> cpu1 这很清楚。 但是我怎么能同时设置thread0到core0和core2? 环境variables“GOMP_CPU_AFFINITY”的值是什么?

perf-report显示CPU寄存器的值

我遵循这个文件,并使用perf record与–intr-regs=ax,bx,r15 ,试图logging更多的CPU注册信息与PEBSlogging。 但是,如何从perf.data中查看这些信息? 原始命令是perf report ,它只显示开销,命令,共享对象和符号等几个字段。 有没有办法显示CPU regs的价值?

Linux内核中使用扩展指令集(SSE,MMX)吗?

那么,他们带来(至less应该带来)性能的大幅提高,不是吗? 所以,我还没有看到任何Linux内核源代码,但是我很想问:它们是用什么方式? (在这种情况下 – 对于没有这种指令的系统,必须有一些特殊的“代码上限”)?

GRUB切换到保护模式吗?

我想问一下在启动过程中是否将GRUB切换到了保护模式,还是Linux内核呢。 而且我想问一下 – 内核本身(vmlinuz)是一个ELF还是纯二进制格式? 谢谢。

C的相当于windows的QueryPerformanceCounter

在linux中有没有一个等价的C函数来读取CPU计数器及其频率? 我正在寻找类似于QueryPerformanceCounter函数的东西来读取现代CPU中的64位计数器

处于睡眠状态的CPU利用率较高

我有一个似乎陷入僵局的过程: # strace -p 5075 Process 5075 attached – interrupt to quit futex(0x419cf9d0, FUTEX_WAIT, 5095, NULL 它坐在“futex”系统调用,似乎是无限期地等待锁。 当“top”运行时,这个过程显示消耗了大量的CPU: # top -b -n 1 top – 23:13:18 up 113 days, 4:19, 1 user, load average: 1.69, 1.74, 1.72 Tasks: 269 total, 1 running, 268 sleeping, 0 stopped, 0 zombie Cpu(s): 8.1%us, 0.1%sy, 0.0%ni, 91.8%id, 0.0%wa, 0.0%hi, […]

“机器硬件”与“硬件平台”的区别

我的Linux机器报告“uname -a”输出如下: [root@tom i386]# uname -a Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386 GNU/Linux [root@tom i386]# 根据uname的man page,条目“i686 i686 i386”表示: 机器硬件名称(i686) 处理器types(i686) 硬件平台(i386) 附加信息: [root@tom i386]# cat /proc/cpuinfo <snip> vendor_id : GenuineIntel CPU family : 6 model : 15 model name : Intel(R) Xeon(R) CPU 5148 @ 2.33 […]