Linux CPU性能监控工具( 二 )

bugs: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tfbogomips: 3600.00clflush size: 64cache_alignment : 64address sizes: 39 bits physical, 48 bits virtualpower management:dmidecode

dmidecode -t processor计算CPU的负载状况:uptime、top、sar、vmstat查看整体CPU负载 , mpstat、dstat、bc可以查看整体或某个CPU的负载 。
  • 平均负载
uptime展示最近一段时间的平均负载(5、10、15分钟性能展示) 。
[root@localhost ~]# uptime 15:21:30 up 121 days,3:00,1 user,load average: 0.00, 0.00, 0.00top[root@localhost ~]# toptop - 12:26:46 up 1 day, 13:32, 2 users, load average: 0.00, 0.00, 0.00Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombieCpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.7%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%stMem: 625344k total, 571504k used, 53840k free, 65800k buffersSwap: 524280k total, 0k used, 524280k free, 409280k cachedPIDUSER PR NI VIRTRESSHR S %CPU %MEMTIME+ COMMAND19002 root 200 2656 1068856 R0.30.2 0:01.87 top1root 200 2872 1416 1200 S0.00.2 0:02.55 init
  • CPU使用率
sar
sar是System Activity Reporter的缩写 , 系统活动状态报告 。
查看CPU状况:
sar -uvmstat
vmstat 1 5mpstat
mpstat是Multiprocessor Statistics的缩写 , 是实时系统监控工具 。其报告与CPU的一些统计信息 , 这些信息存放在/proc/stat文件中 。
在多CPU系统里 , 其不但能查看所有CPU的平均状况信息 , 而且能够查看特定CPU的信息 。
mpstat 1 5/proc/cpuinfo
/proc/cpuinfo
CPU的基本信息
/proc/state
所有CPU活动的信息
/proc/<pid>/stat
某一进程所有的活动的信息
/proc/<pid>/task/<tid>/stat
某一进程所有的活动的信息
  • 进程CPU使用率
toppidstat[root@localhost ~]# pidstatLinux 3.10.0-693.2.2.el7.x86_64 (jellythink)01/11/2019_x86_64_(1 CPU)
11:23:19 PMUIDPID%usr %system%guest%CPUCPUCommand11:23:19 PM010.000.000.000.000systemd11:23:19 PM020.000.000.000.000kthreaddpidstat用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况 。
pidstat的优势在于 , 可以滚动的打印进程运行情况 , 而不像top那样会清屏 。
pstop和ps可以以排序方式展示进程CPU , pidstat不可排序展示 。
htoptop增强版 。
atophtop和atop则以不同颜色展示各种类型更直观 。
  • 系统上下文切换
vmstat展示上下文切换、运行状态、不可中断状态进程数量 。
  • 进程上下文切换
pidstat
  • 硬中断
top查看软中断CPU利用率 。
/proc/softirqs/proc/softirqs和mpstat查看每个CPU上的累积信息 。
mpstat
  • 软中断
vmstate查看总的中断次数信息 。
/proc/interrupts查看各种中断在每个CPU核心上的累积信息 。
  • IO
dstat[root@localhost ~]# dstat----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--usr sys idl wai hiq siq| readwrit| recvsend|inout | intcsw0099000|7706B164k|00 |00 | 18922500 100000|00 |4436B826B|00 | 1952481099000|00 |4744B346B|00 | 20324200 100000|00 |5080B346B|00 | 2062420199000|00 |5458B444B|00 | 2142441099000|00 |5080B346B|00 | 208242

推荐阅读