物理cpu和逻辑cpu的区别

文章详细解释了如何在Linux系统中使用top命令查看CPU利用率,特别是在多核CPU环境下,以及如何通过CPU信息和内存状态来评估系统性能。通过按1键可以查看每个CPU核心的使用率,而cat/proc/cpuinfo命令提供了CPU详细信息,包括核心数。同时,文章还解析了top命令输出的各项指标,如用户空间、内核空间、空闲内存、交换分区等,帮助理解和分析系统资源使用情况。
摘要由CSDN通过智能技术生成

linux下用top命令查看cpu利用率超过100%

 这里显示的所有的cpu加起来的使用率,说明你的CPU是多核,你运行top后按大键盘1看看,可以显示每个cpu的使用率,top里显示的是把所有使用率加起来。

注意:

按下1后显示的是逻辑cpu的个数,并不代表cpu的真实核数。

按下1后可以看到我的机器的CPU是双核的。%Cpu0,%Cpu1。

 这里我们也可以查看一下CPU信息:在命令行里输入:

cat /proc/cpuinfo

 这里可以看到cpu cores : 2。


附录一:查看CPU核数,引用自(Centos下查看cpu核数

【1】查看CPU型号:cpu型号是E7-4820

 
  1. [root@node1 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

  2. 32 Intel(R) Xeon(R) CPU E7- 4820 @ 2.00GHz

【2】查看物理cpu个数:物理核心数是2核

 
  1. [root@node1 ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq|wc -l

  2. 2

【3】查看逻辑cpu的个数:逻辑cpu个数是32个

 
  1. [root@node1 ~]# cat /proc/cpuinfo | grep "processor" |wc -l

  2. 32

【4】查看cpu是几核:cpu是8核

 
  1. [root@node1 ~]# cat /proc/cpuinfo | grep "cores"|uniq

  2. cpu cores : 8

附录二:top命令显示详解,引用自(Linux中的top信息

 
  1. top - 11:09:00 up 324 days, 17:24, 1 user, load average: 0.38, 0.38, 0.37

  2. Tasks: 136 total, 1 running, 135 sleeping, 0 stopped, 0 zombie

  3. %Cpu(s): 0.9 us, 0.5 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

  4. KiB Mem : 16267100 total, 1142448 free, 7907452 used, 7217200 buff/cache

  5. KiB Swap: 0 total, 0 free, 0 used. 7969352 avail Mem

  6. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

  7. 5466 elastic+ 20 0 7503920 1.508g 39564 S 4.0 9.7 4:46.62 java

  8. 9544 root 20 0 1306232 190444 6404 S 2.0 1.2 4425:19 mongod

  9. 314 root 20 0 9.767g 2.185g 15568 S 1.3 14.1 48:34.56 java

  10. 12447 kibana 20 0 1293128 116832 7316 S 1.0 0.7 1061:09 node

第一行:

 top - 11:09:00 up 324 days, 17:24, 1 user, load average: 0.38, 0.38, 0.37

对应的信息:系统当前时间 up 系统到目前为止运行的时间, 当前系统的登陆用户数量,load average后面的三个数字分别表示距离现在一分钟,五分钟,十五分钟的负载情况。 

注意:load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行:任务进程

Tasks: 136 total,   1 running, 135 sleeping,   0 stopped,   0 zombie

对应的信息:tasks表示任务(进程),136则表示现在有136个进程,其中处于运行中的有1个,135个在休眠(挂起),stopped状态即停止的进程数为0,zombie状态即僵尸的进程数为0个。

第三行:CPU状态信息

%Cpu(s):  0.9 us,  0.5 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

依次对应:

us——用户空间(user)占用cpu的百分比
sy——内核空间(system)占用cpu的百分比
ni——改变过优先级(niced)的进程占用cpu的百分比
id——空闲(idolt)CPU百分比
wa——IO等待(wait)占用cpu的百分比
hi——IRQ 硬中断(Hardware)占用cpu的百分比
si——软中断(software)占用cpu的百分比
st——被hypervisor偷去的时间

第四行:当前内存状态信息, 单位都是KiB

 
  1. KiB Mem : 16267100 total, 1142448 free, 7907452 used, 7217200 buff/cache

  2. KiB Swap: 0 total, 0 free, 0 used. 7969352 avail Mem

显示的信息与命令 free 显示的信息相同

对应信息:

Mem——物理内存总量(16G)
free——空闲内存总量(1G)
used——使用中的内存总量
buff/cache—— 用作内核缓存的内存量

注:使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心,

buff/cached代表了buff和cache总共用了多少,buff代表buffer cache占了多少空间,由于它主要用来缓存磁盘上文件的元数据,所以一般都比较小,跟cache比可以忽略不计;

cache代表page cache和其它一些占用空间比较小且大小比较固定的cache的总和,基本上cache就约等于page cache,page cache的准确值可以通过查看/proc/meminf中的Cached得到。由于page cache是用来缓存磁盘上文件内容的,所以占有空间很大,Linux一般会尽可能多的将空闲物理内存用于page cache。

第五行:当前内存状态信息, 单位都是KiB

Swap——交换区总量
free——空闲交换区总量
used——使用的交换区总量
avail Mem—— 表示可用于进程下一次分配的物理内存数量,这个大小一般比free大一点,因为除了free的空间外,系统还能立即释放出一些空间来。

对于内存监控,在top里我们要时刻监控swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。正常情况下swap应该很少被使用,used值比较大说明交换空间被使用的比较多,如果通过vmstat命令看到swap in/out的比较频繁的话,说明系统内存严重不足,整体性能已经受到严重影响。

第六行:各进程的监控

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

依次对应:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值