1.5 mpstat
1.5.1命令说明
Mpstat可以监控到cpu的一些统计信息,在多核cpu的系统里不但能够查看所有cpu的平均状况信息,而且能够查看特定的cpu的信息
1.5.2参数说明
mpstat [-P {|ALL}] [internal [count]]
参数:
- (1)-P {|ALL}:表示监控哪个CPU,在[0,cpu个数-1]中取值;
- (2)internal:相邻的两次采样的间隔时间;
- (3)count:采样的次数,count只能和delay一起使用;
备注:当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段的平均信息。
RH442攻略之mpstat http://www.linuxidc.com/Linux/2014-03/99051.htm
1.5.3结果说明
- (1)user:在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程,值为 (usr/total)*100;
- (2)nice:在internal时间段里,nice值为负进程的CPU时间(%),值为(nice/total)*100;
- (3)system:在internal时间段里,核心时间(%),值为(system/total)*100;
- (4)iowait:在internal时间段里,硬盘IO等待时间(%),值为(iowait/total)*100;
- (5)irq:在internal时间段里,硬中断时间(%),值为(irq/total)*100;
- (6)soft:在internal时间段里,软中断时间(%),值为(softirq/total)*100;
- (7)idle:在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%),值为(idle/total)*100;
- (8)intr/s:在internal时间段里,每秒CPU接收的中断的次数,值为(intr/total)*100;
1.6 sar
1.6.1命令说明
Sar命令可以全名的获取到cpu 、运行、磁盘IO、虚拟内存、内存、网络等信息。
RH442攻略之SAR http://www.linuxidc.com/Linux/2014-03/98207.htm
Linux 从 SAR 到 SAR2html 的认识 http://www.linuxidc.com/Linux/2013-08/88239.htm
Linux SAR 性能计数器工具 http://www.linuxidc.com/Linux/2012-10/72790.htm
Linux SAR用法 http://www.linuxidc.com/Linux/2012-08/68046.htm
UNIX 中 SAR 命令的详细使用 http://www.linuxidc.com/Linux/2012-03/55737.htm
Linux认证辅导:Linux SAR 命令 http://www.linuxidc.com/Linux/2012-01/51343.htm
1.6.2参数说明
sar 命令行的常用格式:
sar [options] [-A] [-o file] t [n]
在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
- -A:所有报告的总和。
- -u:CPU利用率
- -v:进程、节点、文件和锁表状态。
- -p:像是当前系统中指定CPU使用信息。
- -d:硬盘使用报告。
- -r:显示系统内存的使用情况。
- -n:显示网络运行状态。参数后面可跟DEV、EDEV、SOCK和FULL。DEV显示网络接口信息,EDEV显示网络错误的统计数据,SOCK显示套接字信息,FULL显示前三参数所有信息。
- -q:显示运行队列的大小,它与系统当时的平均负载相同
- -B:内存分页情况
- -R:显示进程在采样时间内的活动情况。
- -g:串口I/O的情况。
- -b:缓冲区使用情况。
- -a:文件读写情况。
- -c:系统调用情况。
- -R:进程的活动情况。
- -y:终端设备活动情况。
- -W:系统交换活动。
1.6.3结果说明
Cpu资源监控
CPU:all 表示统计信息为所有 CPU 的平均值。
- %user:显示在用户级别(application)运行使用 CPU 总时间的百分比。
- %nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
- %system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。
- %iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。
- %steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
- %idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。
1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈
2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
1. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。
如果要查看二进制文件test中的内容,需键入如下sar命令:
sar -u -f test
Inode、文件和其他内核表监控
- Dentunued: 目录告诉缓存中未被使用的条目数量
- File-nr: 文件句柄的使用数量
- Inode-nr: 索引节点句柄的使用数量
- Pty-nr :使用的pty的数量
内存和交换空间监控
- kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
- kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
- %memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.
- kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
- kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
- %commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.
内存分页监控
- pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)
- pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)
- fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
- majflt/s:每秒钟产生的主缺页数.
- pgfree/s:每秒被放入空闲队列中的页个数
- pgscank/s:每秒被kswapd扫描的页个数
- pgscand/s:每秒直接被扫描的页个数
- pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数
- %vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比
IO和传送速率监控
- tps:每秒钟物理设备的 I/O 传输总量
- rtps:每秒钟从物理设备读入的数据总量
- wtps:每秒钟向物理设备写入的数据总量
- bread/s:每秒钟从物理设备读入的数据量,单位为 块/s
- bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s
进程队列长度和平均负载状态监控
- runq-sz:运行队列的长度(等待运行的进程数)
- plist-sz:进程列表中进程(processes)和线程(threads)的数量
- ldavg-1:最后1分钟的系统平均负载(System load average)
- ldavg-5:过去5分钟的系统平均负载
- ldavg-15:过去15分钟的系统平均负载
系统交换活动信息监控
- pswpin/s:每秒系统换入的交换页面(swap page)数量
- pswpout/s:每秒系统换出的交换页面(swap page)数量
设备使用情况监控
- 参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0
- tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.
- rd_sec/s:每秒读扇区的次数.
- wr_sec/s:每秒写扇区的次数.
- avgrq-sz:平均每次设备I/O操作的数据大小(扇区).
- avgqu-sz:磁盘请求队列的平均长度.
- await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).
- svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.
- %util:I/O请求占CPU的百分比,比率越大,说明越饱和.
1. avgqu-sz 的值较低时,设备的利用率较高。
2. 当%util的值接近 1% 时,表示设备带宽已经占满。
1.7 netstat
1.7.1命令说明
Netstat 命令用于显示本机网络链接、运行端口、路由表等信息
1.7.2参数说明
netstat [选项]
- -a (all):显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等
- -t (tcp):显示tcp相关选项
- -u (udp):仅显示udp相关选项
- -n :拒绝显示别名,能显示数字的全部转化成数字。
- -l :仅列出有在 Listen (监听) 的服务状态
- -p :显示建立相关链接的程序名
- -r :显示路由信息,路由表,除了显示有效路由外,还显示当前有效的连接
- -e :显示扩展信息,例如uid等
- -s :按各个协议进行统计
- -c :每隔一个固定时间,执行该netstat命令。
- -v :显示当前的有效连接,与-n选项类似
- -I :显示自动匹配接口的信息
- -e :显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
1.7.3结果说明
- Iface:表示网络设备的接口名称。
- MTU:表示最大传输单元,单位为字节。
- RX-OK/TX-OK:表示已经准确无误地接收/发送了多少数据包。
- RX-ERR/TX-ERR:表示接收/发送数据包时候产生了多少错误。
- RX-DRP/TX-DRP:表示接收/发送数据包时候丢弃了多少数据包。
- RX-OVR/TX-OVR:表示由于误差而丢失了多少数据包。
- Flg表示接口标记,其中
B 已经设置了一个广播地址。
L 该接口是一个回送设备。
M 接收所有数据包(混乱模式)。
N 避免跟踪。
O 在该接口上,禁用A R P。
P 这是一个点到点链接。
R 接口正在运行。
U 接口处于“活动”状态。
其中RX-ERR/TX-ERR、 RX-DRP/TX-DRP和RX-OVR/TX-OVR的值应该都为0,如果不为0,并且很大,那么网络质量肯定有问题,网络传输性能也一代会下降。
- Recv-Q:表示接收队列。
- Send-Q :表示发送队列。
- Local Address :表示本地机器名、端口
- Foreign Address :表示远程机器名、端口
- State:表示状态,其中
LISTEN :在监听状态中。
ESTABLISHED:已建立联机的联机情况。
TIME_WAIT:该联机在目前已经是等待的状态。