w、vmstat、 top、 sar、nload命令

1. 使用w查看系统负载

用法如下:

# w

18:20:14 up 2 days,  7:57,  1 user,  load average: 0.01, 0.03, 0.05

USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT

root     pts/0    192.168.4.84     10:14    6.00s  0.11s  0.03s w

解释:linux管理员最常用的命令就是这个w了,该命令显示的信息很丰富。第一行从左至右显示的信息依次为:时间、系统运行时间、登录用户数、平均负载。

第二行开始的所有行则是告诉我们:当前登录的用户名及其登录地址等。

注意:在这里面最应该关注的应该是第一行中的load average:后面三个数值。

第一个数值表示一分钟内系统的平均负载值。

第二个数值表示五分钟内系统的平均负载值。

第三个数值表示十五分钟内系统的平均负载值。

备注:我们着重看第一个值,它表示单位时间段内使用cpu的活动进程数(在这里其实就是一分钟内)值越大就说明服务器压力越大。一般情况下,这个值只要不超过服务器的cpu数量就没有关系,如果服务器的cpu数量为8,那么值小于就说明当前服务器没有压力,否则就要关注下。

查看服务器有几个CPU(逻辑CPU)

这里的processor计数从0开始,也就是说第一个显示为0,第二个显示为1。

# cat /proc/cpuinfo

processor   : 1

vendor_id   : GenuineIntel

cpu family  : 6

model       : 58

model name  : Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz

stepping    : 9

microcode   : 0x17

cpu MHz     : 3392.132

cache size  : 3072 KB

physical id : 0

siblings    : 1

core id     : 0

cpu cores   : 1

apicid      : 0

initial apicid  : 0

fpu     : yes

fpu_exception   : yes

cpuid level : 13

wp      : yes

查看当前系统有几个cpu

# grep -c 'processor' /proc/cpuinfo

1

2. vmstat命令

vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),它可以报告关于进程、内存、I/O等系统整体运行状态。让我们知道系统的使用瓶颈在哪里。

具体用法如下:

# 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 697556    876 175492    0    0     1     0   53   69  0  0 100  0  0

# vmstat 1        表示每隔一秒输出一次状态且一直输出,按Ctrl+c结束

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 697664    876 175524    0    0     1     0   53   69  0  0 100  0  0

0  0      0 697648    876 175524    0    0     0     0  107  120  0  0 100  0  0

0  0      0 697648    876 175524    0    0     0     0   79   89  0  1 99  0  0

0  0      0 697648    876 175524    0    0     0     0   76   97  0  1 99  0  0

0  0      0 697648    876 175524    0    0     0     0   67   78  0  0 100  0  0

0  0      0 697648    876 175524    0    0     0     0   72   86  0  0 100  0  0

^C

# vmstat 1 5     表示每隔一秒输出一次状态,共输出五次

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 697664    876 175524    0    0     1     0   53   69  0  0 100  0  0

0  0      0 697648    876 175524    0    0     0     0   80   92  0  0 100  0  0

0  0      0 697648    876 175524    0    0     0     0   88  106  0  0 100  0  0

0  0      0 697648    876 175524    0    0     0     0   86   95  0  0 100  0  0

0  0      0 697648    876 175524    0    0     0     0   70   82  0  0 100  0  0

解释相关进程的作用,重点关注r、b、si、so、bi、bo这几列信息:

procs显示进程的相关信息

r (run):表示运行或等待CPU时间片的进程数。说明:不要误以为等待CPU时间片意味着这个进程没有进行,实际上某一时刻一个CPU只能有一个进程,其他进程只能排着队等着,此时这些排队等待CPU资源的进程依然是运行状态。该数值如果长期大于服务器CPU的个数,则说明CPU资源不够用了。

b (block):表示等待资源的进程数,这个资源指的是I/O、内存等。举个例子:当磁盘读写非常频繁时,写数据就会非常慢,此时CPU运算很快就结束了,但进程需要把计算的结果写入磁盘,这样进程的任务才算完成,那此时这个进程只能慢慢地等待,这样这个进程就是这个b状态。该数值如果长时间大于1,则需要关注一下。

memory显示内存的相关信息

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

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

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

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

swap显示内存的交换情况

si:表示由交换区写入内存的数据量,单位为KB。

so:表示由内存写入交换区的数据量,单位为KB。

io显示磁盘的使用情况

bi:表示从块设备读取数据的量(读磁盘),单位为KB。

bo:表示从块设备写入数据的量(写磁盘),单位为KB。

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

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

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

cpu显示CPU的使用状态

us:显示用户下花费CPU的时间百分比。

sy:显示系统花费CPU的时间百分比。

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

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

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

3. top命令

top命令用于动态监控进程所占的系统资源,每隔3秒变一次。它的特点是把占用系统资源(cpu、内存、硬盘I/O等)最高的进程放到最前面。

用法如下:

# top

top - 19:37:58 up 2 days,  9:14,  1 user,  load average: 0.00, 0.01, 0.05

Tasks:  87 total,   1 running,  86 sleeping,   0 stopped,   0 zombie

%Cpu(s):  0.3 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem :   999940 total,   696980 free,   126268 used,   176692 buff/cache

KiB Swap:  2097148 total,  2097148 free,        0 used.   692664 avail Mem

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND

21 root      20   0       0      0      0 S  0.7  0.0   3:13.30 kworker/0:1

3833 root      20   0  157588   2120   1512 R  0.7  0.2   0:00.77 top

496 root      20   0  303272   6760   4780 S  0.3  0.7   5:36.48 vmtoolsd

1 root      20   0  128104   6700   3948 S  0.0  0.7   0:02.83 systemd

2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd

3 root      20   0       0      0      0 S  0.0  0.0   0:05.27 ksoftirqd/0

7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0

8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh

9 root      20   0       0      0      0 S  0.0  0.0   0:53.45 rcu_sched

10 root      rt   0       0      0      0 S  0.0  0.0   0:02.18 watchdog/0

12 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper

13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs

14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns

15 root      20   0       0      0      0 S  0.0  0.0   0:00.07 khungtaskd

16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback

17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd

18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset

19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd

20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 md

26 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswapd0

27 root      25   5       0      0      0 S  0.0  0.0   0:00.00 ksmd

备注:需要关注的值有load average,tasks,%CPU,%MEM。

RES表示进程占用的内存数量。

shift+m表示按内存使用量排序。

shift+p表示按cpu使用量排序。

按数字1可以列出每个cpu的占用量。

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

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

q退出。

q+PID杀死程。

4. sar命令

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

#yum install -y sysstat     sar命令安装

查看网卡流量历史 sar -n DEV

# sar -n DEV

Linux 3.10.0-514.el7.x86_64 (ccj-01)     2018年1月20日     _x86_64_    (1 CPU)

20时00分01秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

20时10分01秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

20时10分01秒     ens33     12.01      0.14      0.92      0.02      0.00      0.00      0.00

平均时间:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

平均时间:     ens33     12.01      0.14      0.92      0.02      0.00      0.00      0.00

解释:

IFACE这一列表示设备名称.

rxpck/s这一列表示每秒进入收取的包的数量有多少。

txpck/s这一列表示每秒发送出云的包的数量有多少。

rxkB/s这一列表示每秒收取的数据量(单位为KB)。

txkB/S这一列表示每秒发送的数据量。

注意:

如果有一天服务器丢包非常严重,那么你就该应该查一下网卡流量是否异常了,如果rxpck/s那一列的数值大于4000,或者rxkB/s那一列的数值大于50000000,很有可能是被攻击了,正常的服务器网卡流量不会这么高,除非是你自己在复制数据。

实时查看网卡流量

# sar -n DEV 1 5

Linux 3.10.0-514.el7.x86_64 (ccj-01)     2018年1月20日     _x86_64_    (1 CPU)

20时12分50秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

20时12分51秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

20时12分51秒     ens33     11.22      0.00      0.82      0.00      0.00      0.00      0.00

20时12分51秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

20时12分52秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

20时12分52秒     ens33     12.37      1.03      0.82      0.41      0.00      0.00      0.00

20时12分52秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

20时12分53秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

20时12分53秒     ens33     12.24      1.02      0.91      0.41      0.00      0.00      0.00

20时12分53秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

20时12分54秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

20时12分54秒     ens33      8.08      1.01      0.56      0.40      0.00      0.00      0.00

20时12分54秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

20时12分55秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

20时12分55秒     ens33      7.14      1.02      0.45      0.41      0.00      0.00      0.00

平均时间:     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

平均时间:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

平均时间:     ens33     10.20      0.82      0.71      0.33      0.00      0.00      0.00

使用-f选项查看某一天的网卡流量历史,后面跟文件名。(在Red Hat或者CentOS发行版中,sar的库文件一定在/var/log/sa/目录下

示例如下:

# sar -n DEV -f /var/log/sa/sa20

Linux 3.10.0-514.el7.x86_64 (ccj-01)     2018年1月20日     _x86_64_    (1 CPU)

20时00分01秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

20时10分01秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

20时10分01秒     ens33     12.01      0.14      0.92      0.02      0.00      0.00      0.00

平均时间:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

平均时间:     ens33     12.01      0.14      0.92      0.02      0.00      0.00      0.00

查看历史负载 sar -q

示例如下:

# sar -q

Linux 3.10.0-514.el7.x86_64 (ccj-01)     2018年1月20日     _x86_64_    (1 CPU)

20时00分01秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked

20时10分01秒         1       105      0.00      0.01      0.05         0

平均时间:         1       105      0.00      0.01      0.05         0

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

5. nload命令

sar虽然可以查看网卡流量,但是不够直观,还有一个更好用的工具,那就是nload。

安装nload:

#yum install -y epel-release 先安装扩展源

#yum install -y nload 因为nload依赖于epel-release。

#nload  查看网卡流量:

Device ens33 [192.168.114.1] (1/2):

=========================================================================================================================

Incoming:

Curr: 10.76 kBit/s

Avg: 9.31 kBit/s

Min: 4.62 kBit/s

Max: 13.25 kBit/s

Ttl: 142.85 MByte

Outgoing:

Curr: 8.55 kBit/s

Avg: 8.42 kBit/s

Min: 3.90 kBit/s

Max: 9.18 kBit/s

Ttl: 1.69 MByte

说明:

Incoming为进入网卡的流量。

Outgoing为网卡出去的流量。

主要关注Curr那行的数据,其单位也可以动态自动调整。

按q退出该界面。

原文地址:http://blog.51cto.com/ccj168/2063870

时间: 2024-10-30 06:38:06

w、vmstat、 top、 sar、nload命令的相关文章

25.Linux系统管理技巧-w,vmstat,top,sar,nload命令

Linux运维管理 一 w 命令,查看当前系统的负载 用法如下 [[email protected] ~]# w 15:15:19 up 2 min, 1 user, load average: 0.05, 0.08, 0.04 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root pts/0 192.168.72.1 15:14 7.00s 0.08s 0.00s w 第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,

10.1-10.5 w查看系统负载 vmstat , top, sar, nload

七周一次课(3月19日)10.1 使用w查看系统负载10.2 vmstat命令10.3 top命令10.4 sar命令10.5 nload命令  10.1 使用w查看系统负载 介绍 W命令 #W [[email protected] sed]# w 14:22:44 up  4:29,  1 user,  load average: 0.00, 0.01, 0.05 USER     TTY      FROM             [email protected]   IDLE   JCP

Linux系统日常管理1 w,vmstat,top,sar,free,ps监控命令

一. w, uptime 命令w, uptime [[email protected] ~]# w  04:02:31 up 1 day,  8:25,  1 user,  load average: 0.00, 0.00, 0.00 USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT root     pts/0    192.168.21.103   23:38    0.00s  0

日常运维管理,w,wmstat,top,sar,nload

监控系统状态查看历史文件 nload 查看网卡实时流量状态左右方向键,可以查看不同网卡信息 原文地址:http://blog.51cto.com/13528516/2063992

0.1 使用w查看系统负载 - 10.2 vmstat命令 - 10.3 top命令 - 10.4 sar命令 - 10.5 nload命令

- 10.1 使用w查看系统负载 - 10.2 vmstat命令 - 10.3 top命令 - 10.4 sar命令 - 10.5 nload命令 # 10.1 使用w查看系统负载 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170829/230935727.png?imageslim) - w命令 ``` [[email protected] ~]# w  23:10:04 up  2:17,  2 users,  load average:

w命令、vmstat命令、top命令、sar命令、nload命令

w.uptime查看系统负载 12:23:32  是系统当前时间12点23分32秒 up 26 min  是登录系统的时间为 26分钟 1 user  目前登录了1个用户 load avaerage 系统负载,有三个数字分别表示1分钟.5分钟.15分钟时间段内系统的负载值是多少.数字的含义为:单位时间段内使用cpu的活动进程有多少个.(这个数值为0时说明linux在空跑,没有任何进程在使用.一般这个值不超过逻辑cpu的数量.查看cpu数量使用命令cat /proc/cpuinfo) USER 用

七周一次课(1月22日) 10.1 使用w查看系统负载 10.2 vmstat命令 10.3 top命令 10.4 sar命令 10.5 nload命令

七周一次课(1月22日)10.1 使用w查看系统负载10.2 vmstat命令10.3 top命令10.4 sar命令10.5 nload命令 ==================================================================================================================================================================================

Linux系统管理初步(一)w、vmstat、top、sar、nload命令

在实际工作中,系统部署上线后最常用的命令就是管理类命令,就像医生通过检查了解身体状况,系统管理命令能够让我们知道系统的运行状态,在此基础上解决系统运维中发现的各种问题. 一.w命令 w - Show who is logged on and what they are doing.w命令是系统管理员最常用的命令.命令能显示系统的各项参数,谁在线上等等.具体我们逐行了解w命令下各行的含义红框中第一行是当前时间,第二项"up 9 min"是服务器开机时间,图示为9分钟:第三项是登陆用户数,

W命令/vmstat命令/top命令/sar命令/nload命令

使用w查看系统负载 [[email protected] ~]# w linux管理员常用的命令w,该命令显示的信息很丰富,第一行从左至右显示的信息一次为:时间.系统运行时间.登录用户数.平均负载,这些数据里最应该关注当为load average后的3个数值.第一个数值表示1分钟内系统的平均负载值,第二个数值表示为5分钟内系统的平均负载值,第三个表示15分钟内系统的平均负载值.这里着重看第一个值,它表示单位时间段内使用CPU的活动进程数,值越大就说明服务器压力越大,一般情况下只要这个值不超过服务