限时返场-top命令(排查cpu使用率超过500%的问题)

2023-10-07  本文已影响0人  CoderInsight
  1. 使用 top 命令查看各个进程的使用情况,默认按CPU使用率排序。
# 如下命令可以查看该进程下各个线程的cpu使用情况:查询结果中的"PID"列即为各个线程ID
top -Hp PID
  1. top 命令的使用率超过 100% ,主要的原因是 top 命令显示的是程序占用的cpu的总数,2核cpu最高占用率可达200%,top视图显示的是把所有使用率加起来的总数。
top - 22:15:19 up 3 min,  1 user,  load average: 0.08, 0.13, 0.06
Tasks: 112 total,   4 running, 108 sleeping,   0 stopped,   0 zombie
# 在使用top命令动态显示相关信息后,按“数字1”可以将所有的CPU信息呈现出来
%Cpu0  :  0.0 us,  2.0 sy,  0.0 ni, 98.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  1.0 us,  1.0 sy,  0.0 ni, 98.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1867048 total,   406548 free,  1193512 used,   266988 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   478924 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                
   484 root      20   0   36880   4028   3712 S   120.0  0.2   0:02.78 systemd-journal                                        
  1626 root      20   0  157848   2176   1524 R   1.0  0.1   0:00.12 top                                                    
     1 root      20   0  128232   6844   4084 S   0.0  0.4   0:00.98 systemd                                                
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd                                               
     3 root      20   0       0      0      0 S   0.0  0.0   0:00.02 ksoftirqd/0 
  1. 补充CPU总核数总逻辑CPU数的计算,实际上有多少个cpu信息直接通过在 top 命令中按数字1就可以展示出来了。
    • CPU总核数 = 物理CPU个数 X 每颗物理CPU的核数
    • 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数 
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 
# 查看每个物理CPU中core的个数(即核数) 
cat /proc/cpuinfo| grep "cpu cores"| uniq 
# 查看逻辑CPU的个数 
cat /proc/cpuinfo| grep "processor"| wc -l 
# 查看CPU信息(型号) 
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
上一篇下一篇

猜你喜欢

热点阅读