1. vmstat看CPU
vmstat -n 2 3
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数单位是秒,第二个参数是采样的次数
-procs
r:运行和等待CPU时间片的进程数,原则上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百分比,如果小于20%,说明可能存在CPU不足。
wa:系统等待IO的CPU时间百分比
st:来自于一个虚拟机偷取的CPU时间的百分比
查看所有cpu核信息:mpstat -P ALL 5 2
-P:ALL,查看所有核的CPU。间隔5秒,输出2次,不算第一次输出的次数。
每个进程使用cpu的用量分解信息:pidstat -u -p 进程编号 1
2. free看内存
free-m:单位是MB
经验值
应用程序可用内存/系统物理内存>70%内存充足
应用程序可用内存/系统物理内存<20%内存不足,需要增加内存
20%<应用程序可用内存/系统物理内存<70%内存基本够用
3. df、du看磁盘
df -h:一般用于查看一级文件夹大小、使用比例、档案系统及其挂入点。
查看磁盘剩余空间
这里会看到当前可用磁盘的总容量、已使用容量、已使用百分比和挂载路径
du -h /root : 一般用户查看目录或文件所占用磁盘空间的大小
-h:以人类可读的方式显示。
4. iostat看磁盘IO
iostat -xdk 2 3
磁盘块设备分布
rkB/s每秒读取数据量kB;
wkB/s每秒写入数据量kB;
svctm lO请求的平均服务时间,单位毫秒;
await l/O请求的平均等待时间,单位毫秒;值越小,性能越好;
util一秒中有百分几的时间用于IO操作。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘;
rkB/s、wkB/s根据系统应用不同会有不同的值,但有规律遵循:长期、超大数据读写,肯定不正常,需要优化程序读取。
svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,如果await的值远高于svctm的值,则表示I/O队列等待太长,需要优化程序或更换更快磁盘。
pidstat -d 采样间隔秒数 -p进程号
5. sar看网络IO
sar -n DEV 1 2
IFACE:就是网络设备的名称
rxpck/s:每秒钟接收到的包数目
txpck/s:每秒钟发送出去的包数目
rxkB/s:每秒钟接收到的kb数
txkB/s:每秒钟发送出去的kb数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
rxmcst/s:每秒钟接收的多播数据包