10.1 使用w查看系统负载

第一行从左到右显示的信息依次为:时间,系统运行的时间、登录用户数、平均负载。而load average:后面的三个数值。 第一数值表示1分钟内系统的平均负载值。 第二数值表示5分钟内系统的平均负载值。 第三数值表示15分钟内系统的平均负载值。 一般看重第一个数值,它表示单位时间段内使用CPU的活动进程数(1分钟内)。

** cat /proc/cpuinfo** //查看cpu信息 grep -c 'processor' /proc/cpuinfo //查看cpu的数量

10.2 vmstat命令

vmstat 命令打印的结果共分6部分:procs、memory、swap、io、system和cpu 1)procs 显示进程的相关信息:

r run: 表示运行或等待cpu时间片的进程数。

b block:表示等待资源的进程数,这个资源指的是I/O、内存等。

2)memory 显示内存的相关信息

swpd: 表示切换到交换分区中的内存数量,单位为KB.

free:表示当前空闲的内存数量,单位为KB.

buff:表示(即将写入磁盘)缓冲大小,单位为KB.

cache:	buff:表示(从磁盘中读取的)缓冲大小,单位为KB.

3)swap 内存交换情况

si :由交换区写入到内存的数据量;

so :由内存写入到交换区的数据量;

4)io 磁盘使用情况

bi :从块设备读取数据的量(读磁盘);

bo: 从块设备写入数据的量(写磁盘);

5)system 显示采集间隔内发生的中断次数

in :表示在某一时间间隔中观测到的每秒设备中断数;

cs :表示每秒产生的上下文切换次数;

6)CPU 显示cpu的使用状态

us :显示了用户下所花费 cpu 时间的百分比;

sy :显示系统花费cpu时间百分比;

id :表示cpu处于空闲状态的时间百分比;

wa :表示I/O等待所占用cpu时间百分比;

st :表示被偷走的cpu所占百分比(一般都为0,不用关注);

以上所介绍的各个参数中,阿铭经常会关注r列,b列,和wa列,三列代表的含义在上边说得已经很清楚。IO部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高。另外当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。

我们使用 vmstat 查看系统状态的时候,通常都是使用这样的形式来看的:

[root@localhost ~]# vmstat 1 5 或者:

[root@localhost ~]# vmstat 1 前面表示,每隔一秒钟打印一次状态,共打印5次,而后面的表示每隔1秒打印一次状态,一直打印,除非我们按 Ctrl + c 结束

10.3 top命令

这个命令用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。top命令打印出了很多信息,包括系统负载(loadaverage)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。其实上面这些内容可以通过其他命令来查看,所以用top重点查看的还是下面的进程使用系统资源详细状况。这部分东西反映的东西还是比较多的,不过需要你关注的也就是几项:%CPU, %MEM, COMMAND 这些项目所代表的意义,不用阿铭介绍相信你也能看懂吧,RES 这一项为进程所占内存大小,而 %MEM 为使用内存百分比。在 top 状态下,按 “shift + m”, 可以按照内存使用大小排序。按数字 ‘1’ 可以列出各颗cpu的使用状态。
	
	经常用的一个命令 top -bn1 它表示非动态打印系统资源使用情况,可以用在shell脚本中

和 top 命令唯一的区别就是,它一次性全部把所有信息输出出来而非动态显示。

10.4 sar命令

sar 命令很强大,它可以监控系统所有资源状态,比如平均负载、网卡流量、磁盘状态、内存使用等等。它不同于其他系统状态监控工具的地方在于,它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。

yum install -y sysstat //安装sar

1.查看网卡流量sar -n DEV

 sar -n DEV
 
 sar -n DEV 1 5
 
 sar的库文件一定在/var/log/sa/目录下
 
 sar -n DEV -f /var/log/sa/sa23

2.查看历史负载 sar -q

sar -q

 这个命令有助于我们查看服务器在过去的某个时间的负载状况。

10.5 nload命令

yum install -y epel-release; yum install -y nload

想要安装nload,前提是先安装epel-release包,nload包 是在epel这个扩展源里面。

nload