Linux查看性能命令
-
整机
1.top:查看系统性能
主要查看cup,内存占用率以及负载,(如果三个负载数相加的平均值超过0.6则说明负载过大)
2.uptime:系统性能命令的精简版
-
CPU
1.vmstat -n 2 3:查看包括不限于CUP(一般 vmstat工具的使用是通过两个数字参数来定成的,第一个参数是采样的时间间数,单位是秒,第二个参数是采样的次数)
- procs
r:运行和等待CUP时间片的进程数,原则上1核的CPU的运行队列不要超过2,整个系统的运行队列不过核数的2倍,否则代表系统压力过大。
b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等。
-cpu
us:用户进程消耗CPU时间百分比,us值高,用户进程消耗CPU时间多,如果长期大于50%,需优化程序;
sy:内核进程消耗的CPU时间百分比;
us+sy参考值为80%,如果us+sy大于80%,说明可能存在CPU不足;
id:处于空闲的CPU百分比;
wa:系统等待IO的CPU时间百分比;
st:来自于一个虚拟机偷取CPU时间的百分比。
2.mpstat -P ALL 2 :查看所有CPU信息
3.pidstat -u 1 -p 进程编号:进程使用cpu的用量分解信息
-
内存
-
1.free:查看内存,单位为kb
-
free -g:查看内存,单位为gb
-
free -m:查看内存,单位为mb(显示最精确,推荐使用)
2.pidstat -p 进程号 -r 采样间隔秒数:查看进程占用内存百分比
-
硬盘
-
df:查看磁盘使用情况,单位kb
-
df -h:查看磁盘使用情况,单位gb(推荐使用)
-
磁盘IO
1.iostat -xdk 2 3 :查看磁盘IO情况,间隔2秒采样3次
- 磁盘块设备分布
- rkB/s每秒读取数据量kB;
- MKBs每秒写入数据量kB;
- svctm I/O请求的平均服务时间,单位毫秒;
- await I/O请求的平均等待时间,单位毫秒;值越小,性能越好;
- util 一秒中有白分几的时用于I/O操作,接近100%时,表示磁宽带跑,需要优化程序或者増加磁盘:
- rkB/s、wkB/s根据系统应用不同会有不同的值,但有规律可循:长期、超大数据读写,肯定不正常,需要促化程序读取
- svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,
- 如果 await的值远高于svctm的值,则表示O队列等待太长,需要优化程序或更换更快磁盘。
2.pidstat -d 2 -p 进程号:进程使用IO情况,2秒采样一次
-
网络IO
-
ifstat:查看网络传输情况