Linux系统性能分析思路

1、系统负载监控
  • 简介
    系统的负载,决定了系统是否出于忙碌状态。CPU决定了同一时刻系统可以承受的最大负载。可以通过以下指令查看分析系统的负载

  • 常用指令
    uptime:是从文件/proc/loadavg文件中读取

$ uptime
16:33  up 48 days, 17:04, 2 users, load averages: 1.38 1.25 1.26

备注:
16:33 : 当前系统时间
up 48 days, 17:04 系统运行时间,时间越长说明系统越稳定
2 users:当前登陆用户数
load averages: 1.38 1.25 1.26 过去1分钟、5分钟、15分钟内的平均负载,

top:对系统所有运行的进程和系统载荷提供不断的更新的概览信息

top - 17:29:49 up 45 days, 23:44,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  78 total,   1 running,  77 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.7 sy,  0.0 ni, 98.3 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1882752 total,    84464 free,   182124 used,  1616164 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1497328 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                           
 1569 root      20   0  158160   9036   1756 S  0.3  0.5  31:44.26 barad_agent                                                       
 1570 root      20   0  609120  11644   1972 S  0.3  0.6 160:13.13 barad_agent  
  • 分析实践
    每个cpu内核当前活动进程数最好不大于0.8,1~3时,若其他系统资源正常,可接受,若大于5时,说明已存在问题。
    1.38 1.25 1.26 过去1分钟、5分钟、15分钟内的平均负载,可分析出系统负载的趋势:是否增加、稳固、降低等

注:

  • 物理CPU:主板上实际接入的CPU个数,可用数physical id来确定
  • CPU核数:每个CPU上面实际接入的芯片组数量,如双核、四核等。
  • 逻辑CPU:一般情况下,逻辑CPU = 物理CPU数量 * CPU核数,如果逻辑cpu多于物理cpu,说明该cpu支持超线程技术
    查看全部cpu信息
# 统计物理cpu个数
[root@sell180 ~]# cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
# 统计cpu核数
[root@sell180 ~]# cat /proc/cpuinfo | grep 'cpu cores' | uniq
# 统计逻辑cpu个数
[root@sell180 ~]# cat /proc/cpuinfo | grep 'processor' | wc -l 
# 查看CPU信息(型号)
[root@sell180 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
  • 平均负载是指在特定时间间隔内运行队列中的平均进程数,若一个进程满足以下条件则可进入队列中:没有等待IO操作的结果;没有主动进入等待状态;没有被停止

你可能感兴趣的:(Linux系统性能分析思路)