Python 测开27期 - julia - 学习笔记 - 性能统计工具

性能分析系统级别指标 io cpu mem net

io 指标监控命令 iostat

  • 命令描述: 监控系统设备的IO负载情况
  • 命令演示: iostat
  • iostat 1 5 : 监控5次每次间隔1秒

io 指标监控命令 df

  • 命令描述: 列出⽂件系统的整体磁盘空间使⽤情况
  • 命令演示: df -h

cpu 指标监控命令 uptime

  • 命令描述: 用于显示系统总共运行了多长时间和系统的平均负载
  • 命令演示: uptime
    20:41:17 up 959 days, 9:23, 3 users, load average: 0.06, 0.05, 0.05
    • load average: 1分钟内的,5分钟内的,15分钟内的

cpu 指标监控命令 cat /proc/cpuinfo

  • 命令描述: 查看CPU的配置信息
  • 命令演示: cat /proc/cpuinfo

cpu 指标监控命令 mpstat

  • 命令描述: 是一款常用的多核CPU性能分析工具,用来实时查询每个CPU的性能指标,以及所有CPU的平均指标
  • 命令演示: mpstat
Linux 3.10.0-514.26.2.el7.x86_64 (shell.ceshiren.com)   06/15/2023      _x86_64_        (2 CPU)
08:46:18 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
08:46:18 PM  all    2.37    0.00    0.96    0.28    0.00    0.01    0.00    0.00    0.00   96.37
  • 关注%usr, %sys, %iowait。%usr, %iowait较高有可能需要优化程序,%idle越大越好。%idle较低可能CUP不足
  • 加参数显示每个核的性能mpstat -P ALL (大小写敏感),显示某一个核的mpstat -P 0, 没1秒监控一次,共监控5次mpstat -P ALL 1 5

cpu 指标监控命令 sar

  • 命令描述: 是一个Linux下的监控工具,可以用来监控CPU性能状况
  • 命令演示: sar -u 1 1

mem 指标监控命令 cat /proc/meminfo

  • 命令描述: 查看内存相关配置信息
  • 命令演示: cat /proc/meminfo

mem 指标监控命令 vmstat

  • 命令描述: 用来获得有关进程、内存、虚拟内存、页面交换空间及 CPU活动的信息
  • 命令演示: vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 137080  78572 2714112    0    0    62    33    0    0  2  1 96  0  0
  • r下面的数超过cpu的话得关注,r所有等待执行的进程数。b下面的数大于1得关注,b表示等待io的进程数量。swpd占用虚拟内存的空间单位k。
  • vmstat 1 5 监控5次每隔1秒监控1次

mem 指标监控命令 free

  • 命令描述: 显示系统使用和空闲内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
  • 命令演示: free, free -g

net 指标监控命令 ping

  • 命令描述: 向目标系统发送报文,检测网络连通性的工具
  • 命令演示: ping

net 指标监控命令 ifconfig

  • 命令描述: 用于获取网卡配置与网络状态等信息
  • 命令演示: ifconfig

net 指标监控命令 hostname

  • 命令描述: 显示本机的hostname, 修改本机的hostname
  • 命令演示: hostname

net 指标监控命令 netstat

  • 命令描述: 用于显示各种网络相关信息,如网络连接,路由表,接口状态等
  • 命令演示:
    • netstat -an
    • netstat -at
    • netstat -au
    • netstat -p

top

  • 命令描述: 实时的显示系统中各个进程的资源占用情况
  • 统计信息: 前五行是系统的整体统计信息。
  • 进程信息: 统计信息下方类似表格的区域显示的是进程的详细信息,默认5秒刷新一次。
  • 命令演示: top

ps

  • 命令描述: ps是命令是 Process Status 的缩写,linux下最常用的进程查看命令;
  • 使用技巧:
    1. 可以配合管道命令 | 和查找命令 grep 同时执行来查看特定进程。
    2. 可以配合管道命令 | 和文本分析命令 awk 同时执行来定位具体进程参数值
  • 命令演示:
    • ps
    • ps -aux
    • ps -ef
    • ps -ef | grep | awk

nmon

  • 下载地址https://nmon.sourceforge.net/pmwiki.php?n=Site.Download
  • 分析 AIX 和 Linux 性能的免费工具,这个高效的工具可以工作于任何哑屏幕、telnet 会话、甚至拨号线路。另外,它并不会消耗大量的 CPU 周期,通常低于百分之二。在更新的计算机上,其CPU使用率将低于百分之一。
  • 使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段。如果您拉伸窗口,并在X Windows、VNC, PuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。
  • nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用电子表格的格式 (.csv)。
  1. 到usr/bin 里面做软链接 ln -s <nmon文件路径路径下对应的系统的nmon文件> nmon
    image
  2. 直接通过nmon命令启动
  3. 常用快捷参数
  • c:cpu
  • m:内存
  • d: 硬盘
  • n: 网络
  • t: top进程
  • q: 退出
  1. nmon后台监控程序
  • 命令: nmon -f -t -s 10 -c 10 -m <nmon数据保存路径>
    • -f 监控结果以文件形式输出,默认:机器名_日期_时间
    • -F 指定输出文件
    • -t 显示资源占用率高的进程
    • -s 采样频率,单位秒
    • -m nmon数据文件保存的目录
  1. nmon 分析工具下载