实时监控

top

  • -h : 查看帮助
  • -p : 监控指定进程,当监控多个进程时,进程ID以逗号隔开,这个选项只能在命令行下使用
  • top 任务区命令
  • M: 按内存使用率排序(大写)
  • P:按CPU使用率排序(大写)
  • z :彩色/黑白显示(小写)

vmstat

  • 可以监控操作系统的进程状态、内存、虚拟内存、磁盘IO、CPU信息
  • 语法:vmstat [-a] [-n] [-S unit] [delay[count]]
  • -S:使用指定单位显示,参数有k、K、m、M,分别代表1000,1024,1000000,1048576字节(byte)默认单位为K(1024 bytes)

内存

  • free
  • 能够监控系统的内存使用状态,其中,total:总计物理内存的大小,Used:已使用多大;Free:可使用多大;shared:多个进程共享的内存总额;buffers/cached:磁盘缓存大小
  • -h 显示单位

CPU

  • mpstat
  • mpstat 最大特点是:可以查看多核cpu中每个计算核心的统计数据
  • mpstat 需注意:当没有参数时,mpstat则显示系统启动后所有信息的平均值,有interval时第一行的信息自系统启动以来的平均信息,从第二行开始,输出为前一个interval时间段的平均值
  • 语法:mpstat [-P{|ALL}] [interval [count]]
  • interval : 相邻的两次采样的间隔时间
  • -P{|ALL}:表示监控哪个CPU,cpu在[0,cup数-1]中取值
  • 如:mpstat -P 1
  • mpstat -P 则显示全部
  • mpstat -P 1 5 :实时监控CPU 1 每5s更新一次
  • mpstat -P 1 5 5 : 实时监控 cpu 1 每5s刷新一次,一共监控5次
  • 显示数据概念,主要关注参数
  • idle(空闲) idle 越低代表,说明CPU使用高,负荷大,运算速度慢
  • usr(用户使用的)
  • sys(系统使用的)

网络

  • netstat
  • 用于显示本机网络链接、运行端口、路由表等信息
  • 参数说明:
  • -n:拒绝显示别名,能显示数字的全部转化成数字
  • -l:仅列出有在Listen(监听)的服务状态
  • -p: 显示建立相关链接的程序名
  • -t:显示tcp相关选项
  • -u:仅显示udp相关选项
  • -c:每隔一个固定时间,执行netstat命令
  • nestat -ntlp:查看运行端口有没有被监听
  • -i:显示自动匹配接口的信息
  • netstat -i 显示数据含义:
  • Iface:网络设备接口名称
  • MTU:最大的传输单元(字节)
  • RX -OK:已经准确无误的接收多少数据包
  • RX-ERR:接收数据包时发生多少错误
  • RX-DRP:接收数据包时丢了多少
  • RX-OVR:接收时由于误差丢失多少数据包
  • TX-OK :已经准确无误的发送多少数据包
  • TX-ERR:发送数据包时发生多少错误
  • TX-DRP:发送数据包时丢了多少
  • TX-OVR:发送时由于误差丢失多少数据包
  • Flg:标记
  • 正常后面的几个都为0,如果不为0说明网络有问题

磁盘

  • iostat
  • iostat是系统磁盘IO操作进行监控,它的输出主要显示磁盘的读写操作的统计信息,同时给出CPU的使用情况
  • 用法 :-x device 输出指定的要统计磁盘设备名称,默认为所有磁盘设备
  • iostat 显示参数信息
  • Devices:设备
  • tps:一次io请求的tps
  • KB_read/s:每秒读的数据大小
  • KB_wrtn/s:每秒写的数据大小
  • KB_read:读的总数
  • KB_wrtn:写的总数
  • iostat -x:
  • %util:一秒钟io是非空的,繁忙程度,越大代表越繁忙(越不好)
  • rkB/s:读取每秒的大小
  • wkB/s:写的每秒大小

万能命令 (sar)

  • 系统活动情况报告,是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告
  • sar 的性能监控范围:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等
  • sar 语法:sar [options] [-A] [-o file] t [n]
  • 语法说明:在命令行中,n和t两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file在此处不是关键字,是文件名称,options为命令选项
  • sar 选项:
  • -A:所有报告的总和
  • -u:CPU利用率
  • -v:进程、节点、文件和锁表状态
  • -r:显示系统内存的使用情况
  • -B:内存分页情况
  • -b :缓冲区使用情况

Linux 下进程追踪命令

  • strace 简介:strace命令是一个集诊断、调试、统计于一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来应用进行分析,以达到解决问题或者是了解应用工作过程的目的
  • strace选项
  • -p:跟踪指定进程
  • -f:跟踪由fork子进程系统调用
  • -c:统计每次系统调用的执行时间、次数和出错次数
  • -t:在输出中的每一行前加上时间信息,-tt时间确定到微秒级
  • -e expr:输出过滤器,通过表达式,可以过滤掉你不想要的输出
  • -o filename:默认strace 将结果输出到stdout ,通过-o可以将输出写入到filename文件中