1. CPU指标分析
# 1.查看系统,平均负载(1分钟 5分钟 15分钟的平均负载)uptime# 2. vmstat,属于sysstat包vmstat 2 1 # 第一个参数:采样时间间隔(单位秒), 第二个参数:采样次数
| 类别 | 项目 | 含义 | 说明 |
|---|---|---|---|
| Procs(进程) | r | 等待执行的任务数 | 展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。 |
| B | 等待IO的进程数量 | ||
| Memory(内存) | swpd | 正在使用虚拟的内存大小,单位k | |
| free | 空闲内存大小 | ||
| buff | 已用的buff大小,对块设备的读写进行缓冲 | ||
| cache | 已用的cache大小,文件系统的cache | ||
| inact | 非活跃内存大小,即被标明可回收的内存,区别于free和active | 具体含义见:概念补充(当使用-a选项时显示) | |
| active | 活跃的内存大小 | 具体含义见:概念补充(当使用-a选项时显示) | |
| Swap | si | 每秒从交换区写入内存的大小(单位:kb/s) | |
| so | 每秒从内存写到交换区的大小 | ||
| IO | bi | 每秒读取的块数(读磁盘) | 块设备每秒接收的块数量,单位是block,这里的块设备是指系统上所有的磁盘和其他块设备,现在的Linux版本块的大小为1024bytes |
| bo | 每秒写入的块数(写磁盘) | 块设备每秒发送的块数量,单位是block | |
| system | in | 每秒中断数,包括时钟中断 | 这两个值越大,会看到由内核消耗的cpu时间sy会越多 秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目 |
| cs | 每秒上下文切换数 | ||
| CPU(以百分比表示) | us | 用户进程执行消耗cpu时间(user time) | us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了 |
| sy | 系统进程消耗cpu时间(system time) | sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足 | |
| Id | 空闲时间(包括IO等待时间) | 一般来说 us+sy+id=100 | |
| wa | 等待IO时间 | wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。 |

# 3. 同属于sysstat包的命令 pidstat## 查看所有进程的CPU使用情况pidstat | pidstat -u | pid stat -u -p ALL## 查看内存的统计pidstat -r## 显示各个进程的IO使用情况pidstat -d## 显示每个进程的上下文切换情况pidstat -w -p 2771 # 特定的pid## 查看进程具体线程使用CPUtop -Hp pid | pidstat -t -p pid
# top -o 可以按照指定的指标排序top -o %MEM # 按照内存排序top -o %CPU # 按照CPU排序## 内舒说明 ##---------各项指标解析---------------------------------------------------第一行统计信息区18:20:27 当前时间up 25 days, 17:29 系统运行时间,格式为时:分1 user 当前登录用户数load average: 0.04, 0.09, 0.13 系统负载,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值Tasks:进程相关信息running 正在运行的进程数sleeping 睡眠的进程数stopped 停止的进程数zombie 僵尸进程数Cpu(s):CPU相关信息%us:表示用户空间程序的cpu使用率(没有通过nice调度)%sy:表示系统空间的cpu使用率,主要是内核程序%ni:表示用户空间且通过nice调度过的程序的cpu使用率%id:空闲cpu%wa:cpu运行时在等待io的时间%hi:cpu处理硬中断的数量%si:cpu处理软中断的数量Mem 内存信息total 物理内存总量used 使用的物理内存总量free 空闲内存总量buffers 用作内核缓存的内存量Swap 内存信息total 交换区总量used 使用的交换区总量free 空闲交换区总量cached 缓冲的交换区总量
2. 内存的使用
# 检查内存的命令free -h # 按照G,来检查内存vmstat 2 1 # 其中有内存的使用情况
3. 磁盘 I/O
iostat -d -x -m 1 1 # 磁盘使用情况、详情、单位M ; 每隔1秒 采集1次iostat -c 1 10 # 查看cpu状态## 命令的参数 ##-C 显示CPU使用情况-d 显示磁盘使用情况-k 以 KB 为单位显示-m 以 M 为单位显示-N 显示磁盘阵列(LVM) 信息-n 显示NFS 使用情况-p[磁盘] 显示磁盘和分区的情况-t 显示终端和CPU的信息-x 显示详细信息-V 显示版本信息
4. ifconfig-查看网卡信息
| ifconfig 具体网卡名称 | 只显示具体网卡的详细信息 |
|---|---|
| ifconfig -a | 显示所有网卡包括没有启动的网卡 |
| ifconfig 网卡名称 [up/down] | 表示开启或关闭网卡 |
| ifconfig 网络接口 IP地址 [/子网掩码长度] | 临时设置网卡地址 |
| ifconfig 网卡名称:数字 地址 | 新建虚拟网卡 |
| ifconfig -s | 查看通讯消息 |
route #打印路由表route -n #以数字形式显示路由信息route add -net 网段地址 gw IP地址 #添加指定网段的路由记录route del -net 网段地址 #删除指定网段的路由记录route add default gw IP地址 #向路由表中添加默认网关记录route del default gw IP地址 #删除路由表中默认的网关记录
