3、性能测试中常用的监控命令
1、top:用来查看系统进程的资源使用情况
load average 含义:
+0.00, 0.06, 0.09 系统瓶颈负载值
第1个: 系统过去1分钟系统的平均负载值 第2个:系统过去5分钟系统的平均负载值 第3个:系统过去15分钟**系统的平均负载值 系统负载值,不等于cpu使用率值。因为系统的负载值,它主要由两部分组成: cpu的使用 率 + io使用率 + PID 进程id + USER 进程的归属用户 + PR 优先级的级别,进程优先级(rt 或大于等于 0 的数字,rt代表正在实时调度优先级下运行,PR=NI+20) + NI 优先级的值,越低,优先级越高,在[-20, 19]之间 + VIRT 虚拟内存 进程使用虚拟内存大小 默认是KB + RES 物理内存大小 进程使用的物理内存大小 默认是KB + SHR 共享内存大小 默认单位也是KB + S 进程的状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) + %CPU 进程占用的cpu率 + %MEM 进程使用物理内存率 + TIME+ 进程使用cpu的时间 + COMMAND 进程名称 mem: buffer cache swap + buffer是磁盘虚拟出来的一个缓冲区,用于内存**读取**磁盘数据时,加快读取速度 + cache 缓存,存在内存、cpu中, + swap 交互分区 主要是用来,交换内存空间。它也是由磁盘虚拟而来,一般为内存的2倍 top命令默认3秒钟刷新一次数据 按下f可以弹出更多的列名称,按q退出按h可以看到所有的top下的指令用处 按下1可以看到 多个核,每个核的cpu的使用情况,我这里只有一个 在没有按1, 在我们用监控工具\平台来收集cpu的使用率,看到是 所有cpu数量的一个总体的使用率 查看当前系统cpu使用率最高的4个进程: n 4 回车,按n 0 还原
只想看某个进程下的线程资源使用情况: top -H -p pid值
2、ps命令:用来列出系统中当前运行的那些进程
常用与grep使用 ps -ef | grep xxx 使用标准语查看系统上的每个进程 ps aux | grep xxx 使用BSD语法查看系统上的每个进程3、vmstat命令:属于sysstat包,对虚拟内存,进程,CPU进行监控
主要方便看上下文切换的看cs和in两列,展示为数字
安装:
yum install sysstat -y
vmstat参数说明
常用命令:
vmstat 1 10 意思是每隔一秒钟收集一次数据,总共收集十秒
结果说明
procs + r : 数字 显示cpu中有多少个进程正在等待 + 如果r列是数字,大于cpu核数,那么说明现在现在有大量的进程在等待cpu进行计算,现在可能出现了cpu不够用的情况。----cpu成了我们的性能瓶颈,此时, 可能需要去增加cpu数量;或者减少运行的进程数。 + b : 数字 现在有多少进程正在不可中断的休眠. 如果这个数字过大,就说明,资源不够用。 memory 跟上的mem一样意思 + buffer是磁盘虚拟出来的一个缓冲区,用于内存读取磁盘数据时,加快读取速度 + cache 缓存,存在内存、cpu中 +free空闲内存大小 swap 交互分区 主要是用来,交换内存空间。它也是由磁盘虚拟而来,一般为内存的2倍 + si 交换分区中的换入 + so 交换分区中的换出 io + bi 块设备的读 + bo 块设备的写 system + in interrupet cpu中断 数字 + cs cpu上下文切换 数学 cpu + us 用户态使用cpu的时间占比 + sy 系统态 在cpu的内核中进行计算消耗的时间占比 + id 休闲 + wa wait 等待 等待资源 + st 管理者占用资源4、mpstat命令:也属于sysstat包,主要报告与cpu相关统计信息
主要看%iowait硬盘IO等待时间
安装:
yum install sysstat -y
常用命令:
mpstat 1 10 每秒显示一次监控数据,总共显示10次 mpstat -P ALL 3 3秒一次获取所有监控数据结果说明:
+ %usr 用户态使用cpu的时间占比 + %nice 负进程的CPU时间 + %sys 内核时间 + %iowait 硬盘IO等待时间 + %irq 硬中断 + %soft 软中断 + %steal + %guest 显示cpu或cpu运行虚拟机处理器所花费的时间占比 + %gnice 显示cpu或cpu运行nices客户机所花费的时间占比 + %idle 空闲的5、pidstat命令:也属于sysstat包,能看磁盘、内存、cpu的数据,主要看cpu的上下文数据
主要看cpu上下文数据,cswch/s和nvcswch/s
安装:
yum install sysstat -y
常用命令:
pidstat -u -w 1 5 -u 用于查看cpu的数据 -w 看cpu的上下文数据结果说明:
+ cswch/s 自愿上下文切换次数
+ nvcswch/s 非自愿上下文切换次数
6、iostat命令:也属于sysstat包,用于输出磁盘IO 和 CPU的统计信息
主要用来查看查看磁盘的使用情况
安装:
yum install sysstat -y
常用命令:
iostat
iostat -c 1 10 显示cpu的, iostat -d 1 10 显示磁盘读写iostat -dx 1 5 每隔1秒,以 KB 为单位显示显示一次设备统计信息.总共输出5次
-c: 显示CPU使用情况
-d: 显示磁盘使用情况
-N: 显示磁盘阵列(LVM) 信息
-n: 显示NFS 使用情况
-k: 以 KB 为单位显示
-m: 以 M 为单位显示
-t: 报告每秒向终端读取和写入的字符数和CPU的信息
-V: 显示版本信息
-x: 显示详细信息
-p:[磁盘] 显示磁盘和分区的情况
结果说明:
+%idle 判断IO空闲占比
+ 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 至少有一个活跃请求的所占的时间百分比7、netstat命令:通常用来显示网络状态
安装:
yum -y install net-tools
常用命令
netstat -tnl | grep 25 查看25端口是否被占用
netstat -pnl | grep 25 如果有当前是root用户还可显示出占用本机25端口的进程PID ,下图PID为1142
netstat -nultp 查看所有端口使用情况
8、dstat:上面命令汇总,功能齐全页面有色彩
安装:
yum install dstat -y
常用命令:
dstat
dstat -lcmsdrpgny 1 10
-c,--cpu 开启cpu统计
-d, --disk 开启disk统计
-D 改选跟具体的设备名(多个用逗号隔开)如:total,hda,hdb表示分别统计total、hda、hdb设备块
-i, - -int 开启中断统计
-l, --load 开启负载均衡统计,分别是1m,5m,15m
-m, --mem 开启内存统计,包括used,buffers,cache,free
-n, --net 开启net统计,包括接受和发送
-N 该选项可以跟网络设备名多个用逗号隔开,如eth1,total
-g, --page 开启分页统计
-p, --proc 开启进程统计,包括runnable, uninterruptible, new
-r, --io io开启请求统计,包括read requests, write requests
-s, --swap 开启swap统计,包括used, free
-S 该选项可以跟具体的交换区,多个用逗号隔开如swap1,total
-t, --time 启用时间和日期输出
-y, --sys 开启系统统计,包括中断和上下文切换
--fs 开启文件系统统计,包括 (open files, inodes)
--ipc 开启ipc统计,包括 (message queue, semaphores, shared memory)
--output file 输出结果到cvs文件中
-a, --all 是默认值相当于 -cdngy (default)
-f, --full 相当于 -C, -D, -I, -N and -S
结果说明:
结果基本都与上面的一致了
load avg
+1m 5m 15m
系统过去1分钟、5分钟、15分钟系统的平均负载值
total cpu usage
+usr 用户空间的程序所占百分比
+sys 系统空间程序所占百分比
+idl 空闲百分比
+wai 等待磁盘I/O所消耗的百分比
+hiq 硬中断次数
+siq 软中断次数
memort usage 内存状态
+used
+buff 磁盘虚拟出来的一个缓冲区,用于内存读取磁盘数据时,加快读取速度
+cach 缓存,存在内存、cpu中
+free 空闲内存大小
+read:磁盘读带宽
+writ:磁盘写带宽
+recv:网络收包带宽
+send:网络发包带宽
+in: page in(换入)
+out:page out(换出)
+int:中断次数
+csw:上下文切换
.