top 命令
- top -1 按数字1可以看到 多个核,每个核的cpu的使用情况
监控工具\平台来收集cpu的使用率 是所有cpu数量的一个总体的使用率
-
- top -E 按大写字母E可以看到不同单位的内存使用情况 KB MB GB TB
mem: buffer cache swap
- buffer是磁盘虚拟出来的一个缓冲区,用于内存**读取**磁盘数据时,加快读取速度
- cache 缓存,存在内存、cpu中
- swap 交互分区 主要是用来,交换内存空间。它也是由磁盘虚拟而来,一般为内存的2倍
任何一个程序启动,都会在内存中占用:虚拟内存和 物理内存
top -f 展示对应指标的含义
-
查看当前系统cpu使用率最高的4个进程: n 4 回车
按下n
输入3
可以查看当前系统cpu使用率最高的3个进程
改变默认刷新时间
top命令默认3秒钟刷新一次数据: s 输入阿拉伯数字
查看某个进程下的线程资源使用情况: top -H -p pid值
性能基础分析命令 ps
- ps -ef -eF -ely使用标准语法查看系统上的每个进程
- ps aux\ax使用BSD语法查看系统上的每个进程
- ps -eiH\axms显示进程树
- ps -eLf \ axms 显示线程信息
ps aux |grep mysqld |grep -v grep
vmstat 命令
通过 yum install sysstat -y 安装
主要用途 : 虚拟内存统计的缩写 ,可以对虚拟内存,进程,cpu 活动进行监控
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-V:显示vmstat版本信息。
vmstat 1 1 表示每隔一秒采集一次服务器状态,表示只采集一次
procs
r : 数字 显示cpu中有多少个进程正在等待
如果r列是数字,大于cpu核数,那么说明现在现在有大量的进程在等待cpu进行计算,现在可能出现了cpu不够用的情况。----cpu成了我们的性能瓶颈,此时,可能需要去增加cpu数量;或者减少运行的进程数
b : 数字 现在有多少进程正在不可中断的休眠. 如果这个数字过大,就说明,资源不够用。
vmstat 3 表示每3s显示一次数据
procs
- r 显示多少进程在等待,
- b 显示多少进程在不可中断的休眠
memory
- swod显示多少块被换出磁盘
- free显示剩下的空闲块
- buff正在被用作缓冲区的块
- cache正在被用作操作系统的缓存
swap
SI 交换分区中的换入
SO 交换分区中的换出
io
显示了多少块(BYTE)设备 读取 (bi)写(bo) 通常反映了硬I/0
system
显示每秒中断(in)和上下文切换(CS)的数量
CPU
显示所有的CPU时间花费在各类操作的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲和等待IO
us sy id wa st
内存不足的表现:
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 247556 2108 336784 0 0 58 4 2 56 0 0 99 0 0
- memory free 急剧减少, 回收buffer 和cache 也没用,
- 大量使用 swap 页面交换和 swpd交换分区 频繁
- 磁盘 io 增多
- sytem 缺页终端 IN 增多
- 上下文交换CS 次数增多
- 等待IO的线程数 b 增多
- 大量cpu 时间用于等待IO wa
mpstat
sysstat的工具包,这个工具包中带了很多性能分析命令`yum install sysstat -y` mpstat 是其中的一个
- mpstat 1 10 每秒显示一次监控数据,总共显示10次
- mpstat -P ALL 3 3 秒获取一次所有的监控数据
具体含义:
- %usr
- %nice
- %sys
- %iowait
- %irq 硬中断
- %soft 软中断
- %steal
- %guest 显示cpu或cpu运行虚拟机处理器所花费的时间占比
- %gnice 显示cpu或cpu运行nices客户机所花费的时间占比
- %idle
pidstat
看磁盘、内存、cpu的数据,主要看cpu的上下文数据
- -u 用于查看cpu的数据
- -w 看cpu的上下文数据
- UID PID
- cswch/s 自愿上下文切换次数
- nvcswch/s 非自愿上下文切换次数
- Command
中断 与 上下文切换 的区别 :
- 中断: 中断当前正在运行的,去做其他事情
- 上下文切换: 资源的切换
- 中断时,一定会导致上下文切换,但是上下文切换,不一定会中断。
netstat 系统自带
用于显示与IP TCP UDP CMP协议相关的数据统计般用于检验本机各端口的网络连接情况
- -a显示所有连线中的socket
- -n 直接使用ip地址,用数字方式显示,而不通过域名服务器
- -p显示正在使用socket的程序识别码和程序名称
- -e显示网络相关信息 文件所在位置
- -t tcp传输协议的连线状况
iostat
显示设备 分区和网络文件系统的CPU统计信息和输入/输出统计信息
- -c显示CPU使用率报告 cpu
- -d显示设备使用率报告 disk
- -k以每秒千字节显示统计报告
- -m以每秒兆字节显示统计报告
- -X显示扩展统计信息
显示设备使用率 每1s刷新一次 刷新3次 cpu
显示设备使用率 每1s刷新一次 刷新3次 磁盘
具体指标含义:
- rrqm/s 合并的每秒读请求
- wrqm/s 合并的每秒写请求
- r/s 读/秒
- w/s 写/s
- rkB/s 读kb/s
- wkB/s
- avgrq-sz 平均情况的扇区数
- avgqu-sz 等待大的请求数
- await 等待的时间
- r_await 读等待的时间
- w_await 写等待的时间
- svctm 实际请求的时间
- %util 至少有一个活跃请求的所占的时间百分比
dstat
yum install dstat -y
用于替换vmstat 和iotstat的命令工具,功能强大
- -c 显示cpu系统占用情况
- -i 显示中断情况
- -m 显示内存使用情况
- -p 显示进程状态
- -d 显示磁盘读写情况
- -l 显示系统负载
- -n 显示网络情况
- -r 显示io运行情况
常用 lcmdry