1、CPU
一、查看CPU
vmstat -n 2 3
2表示时间间隔 单位秒,3表示采样次数,所以整个命令就是每2秒采样一次,一共采样3次。
-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的百分比;
- wa:系统等待IO的cpu时间百分比;
- st:来自于一个虚拟机偷取的CPU时间百分比;
二、查看所有CPU核的信息
mpstat -P ALL 2
初次使用命令可能存在这样的情况:
这个时候需要安装sysstat,通过yum命令
yum install sysstat
安装成功之后在次运行命令:
每隔2秒打印出各个cpu的运行状态
三、每个进程使用CPU的用量分解信息
pidstat -u 1 -p 进程编号
2、内存
一、系统内存设置
二、查看内存的方式
默认采用的是 -k, 采用-g误差比较大,明明3G,算成了2G,使用-m比较合适,2829MB接近3G。
三、进程对内存的消耗
pidstat -p 进程号 -r 时间间隔
3、磁盘
df
4、磁盘IO
iostat -xdk 2 3
每隔2秒采样一次,一共采样3次。-x 该选项将用于显示和io相关的扩展数据;参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。
里面比较重要的是util: 表示一秒钟有百分之几的时间用于I/O操作。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘。
5、网络
ifstat