使用w查看系统负载 vmstat命令 top命令 sar命令 nload命令

使用w查看系统负载:

1. w/uptime 查看系统负载:

[root@localhost ~]# w

23:41:31 up 20 min, 2 users, load average: 0.32, 0.08, 0.05

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 23:41 11.00s 0.02s 0.02s -bash

root pts/0 192.168.0.108 23:22 3.00s 0.03s 0.01s w

•说明:

• 23:41:31 表示当前时间;

• up 20 min 表示机器运行多长时间;

• 2 users 表示多少个用户登录此机器;

• load average: 0.32, 0.08, 0.05 1分钟,5分钟,15分钟内系统的平均负载。这个值定义的是单位时间内cpu活动进程数。当然,这个值越大就说明服务器压力越大,一般情况下只要不超过cpu的核数就没关系,否则就要关注下负载是否过高了。

• USER表示是用哪个用户登录的;

• TTY表示登录linux的方式;tty表示在服务器本机登录;pts/0表示使用远程终端工具登录;

• FROM表示在哪台机器上登录;

• LOGIN@表示用户登录时间;

• IDLE表示空闲了多长时间;

• JCPU表示当前终端下所有的进程以及子进程占用的cpu时间是多少;

• PCPU表示当前命令w占用的时间是多少;

• WHAT表示当前的命令是什么;

uptime同样可以查看系统负载,实际上uptime显示的结果和w第一行是一样的

[root@localhost ~]# uptime

00:23:37 up 1:02, 2 users, load average: 0.00, 0.01, 0.05

/proc/cpuinfo 此文件记录了cpu的详细信息;

grep -c 'processor' /proc/cpuinfo 查看cpu核数;

vmstat命令:

2. vmstat 监控系统状态

• 用法 vmstat 1 一秒中显示一次,按ctrl + c 结束

• 用法 vmstat 1 5 一秒中显示一次,共显示5次

[root@localhost ~]# vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

2 0 0 1620388 764 152852 0 0 9 0 39 44 0 0 100 0 0

上面讲的w查看的是系统整体上的负载,通过看那个数值可以知道当前系统有没有压力。但是具体是哪里(cpu,内存,磁盘等)有压力就无法判断了,通过vmstat就可以知道具体是哪里有压力。vmstat打印结果共分为6部分:

procs,memory,swap,io,system,cpu。请重点关注r b si so bi bo 几列。

• procs显示进程相关信息:

r:表示运行和等待cpu时间片的进程数。如果长期大于服务器cpu的个数,则说明cpu不够

用了。(表示有多少任务处于run状态)

b:表示等待资源的进程数。比如,等待I/O 内存等,这列的值如果长时间大于1,则需要关

注 一下了。(被阻塞的进程数)

• memory内存相关信息:

swpd:表示切换到交换分区中的内存数量;单位是KB;(有些程序会把内存里的数据放倒

交换)

free:当前空闲的内存数量

buff:缓冲大小,(即将写入磁盘的,暂存内存的空间)还剩多少buff

cache:缓存大小,(从磁盘中读取的)还剩多少cache

• swap 内存交换情况

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

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

• io 磁盘使用情况

bi:从块设备读取数据的量(读磁盘);数据写入内存,超过1000以上硬盘有些压力

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

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

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

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

• CPU 显示cpu的使用状态

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

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

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

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

st:表示被偷走的cpu所占百分比(一般为0)

us +sy +id = 100

top命令: 

• top查看进程使用资源情况

• top -d 1 一秒中刷新一次(top默认3秒中刷新一次)

• top -c 显示详细的进程信息

• top -bn1 静态显示所有进程

• q退出,数字1显示所有核cpu,大写字母M按内存使用排序

• 大写字母P按cpu使用排序

• top只显示一屏幕,剩下的可以按shift > 往下翻

sar命令:

sar(System Activity Reporter系统活动情况报告)是目前 Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

sar在/var/log/sa/ 目录下会每天生成一个sa+日期命名的文件,每月循环覆盖,每10分钟统计一次系统状态。

• yum install -y sysstat

安装sysstat软件包后可以使用sar命令

选项:

1. sar 列出当天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 等待分配内存,此时应加大内存容量

3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU

sar 5 每5秒钟统计一次负载,按ctrl + c 退出;

sar 5 3 每5秒统计一次,3次后结束;

sar -u 和sar一样列出当天统计的CPU资源监控;

sar -u -f /var/log/sa/sa09 -f查看二进制历史文件记录的cpu资源监控;

2. sar -n DEV  列出当天的网卡流量状态

sar -n DEV 1 10 1秒统计一次,10次后退出;

sar -n DEV -f /var/log/sa/saxx 查看具体日期网络流量统计情况;

rxpck/s 每秒接收数据包数

rxpck/s 每秒发送数据包数

rtkB/s 每秒接收的数据量

txkB/s 每秒发送的数据量

3. sar -b I/O和传送速率监控

sar -b 1 5

sar -b -f /var/log/sa/saxx

tps:每秒钟物理设备的 I/O 传输总量

rtps:每秒钟从物理设备读入的数据总量

wtps:每秒钟向物理设备写入的数据总量

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

4. sar -q  系统负载

sar -q 1 3

sar -q -f /var/log/sa/saxx

进程队列长度和平均负载状态监控:

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

5. sar -f /var/log/sa/saxx  历史文件

6. sar -o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

sar -n DEV 1 3 -o net.txt

sar -f net.txt

ls /var/log/sa/

sa开头的是二进制文件只能用sar -f查看

sar开头的是普通文本可以用cat查看

怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

nload命令:

用途: 用来即时监看网路状态和各ip所使用的频宽

1. yum install -y nload

安装nload命令

2. nload命令直接输入使用

第一行分别是网卡 ip 以及第几个网卡;

按左右键可以切换网卡;

按q退出

上半部分是:Incoming也就是进入网卡的流量,

下半部分是:Outgoing,也就是从这块网卡出去的流量,

Curr:当前网卡流量

Avg:平均流量

Min:最小流量

Max:最大流量

Ttl:总共流量

猜你喜欢

转载自my.oschina.net/u/3803404/blog/1807913