CPU使用率到100%了?
Linux内核那些事
共 3578字,需浏览 8分钟
· 2021-07-09
最近,一位同事急匆匆跑过来跟我说:糟糕了,服务器CPU的使用率达100%了。
我心想不可能啊,CPU有那么多核,怎会跑满?于是看了一眼,结果虚惊一场。
这位同事看到的100%,并非指整个CPU使用率到了100%,而是指CPU某些核的使用率到了100%.
趁此机会,我来聊聊与CPU相关的概念,对很多软件开发和运维人员来说,这些概念是必须要掌握的:
CPU主频
多个CPU
多核CPU
逻辑核(超线程)
大小端
以一款CPU为例,看下具体参数:
CPU主频(时钟频率)
在上面这些参数中,人们最熟知的是CPU主频(时钟频率)。买电脑时,肯定需要看CPU主频是多少。
我们知道:CPU时钟越快,产生上升沿/下降沿的速度就越快,就能更快地迫使其它器件做相应工作。
CPU的时钟,就像龙舟比赛的击鼓人,击鼓频率越快,就迫使划船的人跟上节奏,结果龙舟也越快。
从CPU参数可以看到,该CPU有12个物理核,每个物理核对应2个逻辑核(超线程技术)。所以,从外部看,该CPU有24个核(逻辑核)。
也就是说,该CPU有12个物理上的运算器&控制器,有24个逻辑上的运算器&控制器。
多个CPU
我们看linux命令lscpu给出的信息:
Socket(s): 2
可以看到,在这台服务器上,总共插了2个CPU, 这2个CPU是物理上的CPU, 人眼可以看到,手也可以触摸到:
多核CPU
Core(s) per socket: 12
![](https://filescdn.proginn.com/eaae66aaf33650f6bfbbb5d439168154/e472308a69f06482fe34eb5d2dcee017.webp)
逻辑核(超线程)
Thread(s) per core: 2
![](https://filescdn.proginn.com/ece595d17082f892a1e7bf8a2154b9fa/c3aa03a2d54f6245167162f18761701a.webp)
![](https://filescdn.proginn.com/f282728853d223183db9dddac1da3660/2b7f95f5959fafb7e906dc6d445e1f74.webp)
那么,在上面这台服务器中,有多少个逻辑核呢?
CPU(s): 48
操作系统对核的分配
~$ lscpu :
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
1 :
CPU(s) list: 0
per core: 1
per socket: 1
1 :
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6Model: 79
Model name: Intel(R) Xeon(R) CPU E5-26xx v4
Stepping: 1CPU MHz: 2394.446
BogoMIPS: 4788.89
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch bmi1 avx2 bmi2 rdseed adx xsaveopt
~$ :
int main()
{
while(1); // 死循环
return 0;
}
![](https://filescdn.proginn.com/cfd9afc31298fe45f49ad3c0b17b76c2/3c37f784255b2ce5f7e046e08c88b278.webp)
![](https://filescdn.proginn.com/3311f92ef6be3b08719ea3fbbea8daa4/f4c3f5bd3514b65e544ce7a94adf8102.webp)
![](https://filescdn.proginn.com/dc7ed03c67d78bd92479663a14eee7ff/48d317f30dad91d7105746a052f20147.webp)
![](https://filescdn.proginn.com/227c0b990feff5cc6dc5aaed0f3e4cdd/9f3686e92b771f712149d4b696144f60.webp)
![](https://filescdn.proginn.com/7541a4cb0ac8c95289d38619c60dc250/475c022edb9cf7d0ef748e4dc6759e7f.webp)
![](https://filescdn.proginn.com/324b5030589df706aac67e6497b195c5/6dd0f89c0a2b042fd022629cc46c32a1.webp)
![](https://filescdn.proginn.com/050953f00454a1a0b9b0be5714805ff8/5b6f1cfea2cff0049e9baa30346d5f43.webp)
![](https://filescdn.proginn.com/7c919e4b948dc5041d9028e30ee0bd00/c339b98db4f2fe4dc47f87d6327080b8.webp)
CPU大小端
Byte Order: Little Endian
![](https://filescdn.proginn.com/ef6638d260d9db919eb2636de84375c0/e43229010bbca433afef5ec801961424.webp)
![](https://filescdn.proginn.com/8bbb7898adbcc633eb7a392e97a5ba11/bed75ced71e70fe7482df34b84fac1ff.webp)
评论