一、使用w命令查看当前系统的负载
1、查看当前系统的负载,如下图所示:
第一行从左到右显示的信息依次为:时间、系统运行时间、登录用户数、平均负载。
第二行告诉我们当前登录的用户名及其登录地址等。
最应该关注的是第一行中的load average:第一个数值表示1分钟内系统的平均负载值,第二个数值表示5分钟内系统的平均负载值,第三个数值表示15分钟内系统的平均负载值,其中着重看第一个值,它表示单位时间段内使用CPU的活动进程数,值越大说明当前服务器的压力越大,一般情况下,这个值只要不超过服务器的CPU数量就没有关系。
2、查看系统CPU的方法:# cat /proc/cpuinfo
这个文件输出后有几段信息,虚拟机中就有几个CPU,也可以用#grep -c \'processor\' /proc/cpuinfo命令直接显示CPU的数量。
二、vmstat命令监控系统的状态
1、用vmstat查看系统的状态:
(1)procs显示进程的相关信息:
r:表示运行或等待CPU时间片的进程数。
b:表示等待资源的进程数。
(2)memory显示内存的相关信息:
swpd:表示切换到交换分区中的内存数量,单位为KB。
free:表示当前空闲的内存数量,单位为KB。
buff:表示(即将写入磁盘的)缓冲大小,单位为KB。
cache:表示(从磁盘中读取的)缓存大小,单位为KB。
(3)swap显示内存的交换情况:
si:表示交换区写入内存的数据量,单位为KB。
so:表示由内存写入交换区的数据量,单位为KB。
(4)io显示磁盘的使用情况:
bi:表示从块设备读取数据的量(读磁盘),单位为KB。
bo:表示从块设备写入数据的量(写磁盘),单位为KB。
(5)system显示采集间隔内发生的中断次数。
in:表示在某一时间间隔内观测到的每秒设备的中断次数。
cs:表示每秒产生的上下文切换次数。
(6)cpu显示CPU的使用状态。
us:显示用户下所花费CPU的时间百分比。
sy:显示系统花费CPU的时间百分比。
id:表示CPU处于空闲状态的时间百分比。
wa:表是I/O等待所占用CPU的时间百分比。
st:表示被偷走的CPU所占百分比(一般都为0,不用关注)。
注:重点关注一下r、b、si、so、bi、bo这几列信息。
我们查看系统状态时,通常都是使用如下形式:
#vmstat 1 5 或者 #vmstat 1
前者是每隔1秒输出一次状态,共输出5次,后者是每隔1秒输出一次状态且一直输出,直到按ctrl+C结束。
三、top命令
1、用top命令显示进程所占的系统资源:
top命令用于动态监控进程所占的系统资源,每隔3秒变一次,它的特点是把占用系统资源(CPU、内存、磁盘I/O等)最高的进程放到最前面。
如下图所示:
# top -bn1,它表示非动态打印系统资源的使用情况,可以用在shell脚本中, 如下图所示:
此外top状态下,shift+m可以按照内存使用大小排序,按数字1可以列出所有核CPU的使用状态。
四、用sar命令监控系统状态
1、sar命令:
sar可以监控系统几乎所有资源的状态,比如平均负载、网卡流量、磁盘状态、内存使用等。如果没有请用#yum install -y sysstat安装。
(1)查看网卡流量:sar -n DEV,具体用法如下图:
IFACE这一列为设备名称,rxpck/s这一列表示每秒进入收取的包的数量,txpck/s这一列表示发送出去的包的数量,rxkB/s这一列表示每秒收取的数据量,
txkB/s这一列表示每秒发送的数据量。
(2)-f:可以查看某一天的网卡流量历史,后面跟文件名,如下图所示:
(3)查看历史负载sar -q,这个命令有助于我们查看服务器在过去某个时间的负载状况,
如下图所示:
五、nload命令
1、用nload命令查看网卡流量:
可以用# yum install -y epel-release; yum install -y nload 命令安装,安装之后直接运行,
结果如下图所示:
最上面一行为网卡名字以及IP地址,按向右的箭头可以查看其他网卡的网络流量,Incoming为进入网卡的流量,Outgoing为网卡出去的流量。
六、free命令
1、用free命令查看内存的使用情况:
total:内存的总大小
used:真正使用内存的大小。
free:剩余物理内存大小(没有被分配,纯剩余)。
shared:共享内存大小,不用关注它。
buff/cache:分配给buffer和cache的内存总共有多大。
available:系统可使用内存有多大,它包含了free,还没有被占用的这部分buffer和cache再加上free就是available。
free还支持-m、-g和-h选项,分别是以MB、GB和用合适的单位打印出来,如下图所示:
隐藏公式:total=used+free+buff/cache
buffer和cache的区别:数据经过CPU计算,即将要写入磁盘,这时用的内存为buffer,CPU要计算时,需要把数据从磁盘中读出来,
临时先放到内存中,这部分就是cache。
七、ps命令
1、用ps命令查看系统进程:
# ps aux 这是专门显示系统进程的命令,如下图所示:
PID:表示进程的ID,终止一个进程时,直接kill+进程的pid。
STAT:进程的状态,分为以下几种:
D:不能中断的进程;
R:正在运行中的进程;
S:已经中断的进程;
T:已经停止或暂停的进程;
W:没有足够的内存页分配;
X:已经死掉的进程;
Z:僵尸进程,即杀不掉、打不死的垃圾进程,占用系统一点资源;
<:高优先级进程;
N:低优先级进程;
L:在内存中被*了内存分页;
s:主线程;
l:多线程进程;
+:在前台运行的进程,比如现在的ps aux。
八、netstat命令
1、用netstat命令查看网络状况:
用来打印网络连接状况、系统所开放端口、路由表等信息。如果没有该命令,可用# yum install -y net-tools命令安装,
安装之后查看网络状况,如下图所示:
常用选项:
-lnp:打印当前系统启动哪些端口。
-an:打印网络连接状况。