w命令,vmstat命令、top命令

w命令

在运维工作中,w命令是一个最常用的命令之一,它可以查看系统当前的负载情况

[root@localhost ~]# w
 22:46:57 up 4 min,  1 user,  load average: 0.02, 0.08, 0.05
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0     22:46    1.00s  0.07s  0.02s w

该命令随简单,但是显示出来的内容却很有用;

  • 第一行显示的内容为:1,系统时间 2,系统运行时间 3,登录用户数量 4,平均负载 (三个数值,第一个是1分钟内的平均负载,第二个是5分钟内的平均负载 ,第三个是15分钟内的平均负载)
  • 第二行的内容是下面行的说明;1,登录用户。2,登录终端。3,登录时间点。 这里面比较重要的是第一行的load average 的三个数值中的第一个,一般情况下该值越大说明CPU负载越大,只要不超过CPU数量就没关系,查看CPU数量可以使用cat /proc/cpuinfo来实现 ,通过查看最后一段信息的processor ,如果是3 ,则为4个。(这里的个数说的不是物理CPU个数,比如机器里面有两个四核CPU,则这个数量就是8)

vmstat 监控系统状态

[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
 1  0      0 3565444    692  99364    0    0    22     2   23   27  0  0 99  0  0

使用w命令查看的是系统整体上的负载,无法判断具体是哪些硬件负载压力过大,这就用到了vmstat命令,vmstat显示的内容一共分为6部分,

  • procs 显示进程的相关信息

  • r(run):表示运行或等待CPU时间片的进程数。该数值如果长期大于CPU核数就意味着CPU不够用了。

  • b(block):表示等待资源的进程数,这里的资源指的是I/O、内存等。比如说有个数据CPU很快处理完了,但是硬盘在频繁的读写当中,该数据等待写入硬盘时,这个进程就是b的状态。该数据长时间大于1就需要找找问题了。

  • memory 显示内存的相关信息

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

  • free:表示当前空闲的内存大小。单位KB

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

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

  • swap 显示内存的交换情况

  • si:表示由交换分区写内存的数据量,单位KB

  • so:表示由内存写入交换分区的数据量,

  • io显示磁盘的使用情况

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

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

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

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

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

  • cpu显示CPU的使用状态

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

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

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

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

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

  • vmstat 2 10意思是每两秒输出一次状态,输出10次。

top命令

top命令显示进程所占的系统资源

[root@localhost ~]# top
top - 23:35:14 up 52 min,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 360 total,   1 running, 359 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem:   3869044 total,   304728 used,  3564316 free,      692 buffers
KiB Swap:  2047996 total,        0 used,  2047996 free.    99664 cached Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                 
  2346 root      20   0  133684   4924   3748 S   0.3  0.1   0:00.40 sshd                                                                                                                    
  2433 root      20   0  123880   1868   1184 R   0.3  0.0   0:00.08 top                                                                                                                     
     1 root      20   0   49976   6456   3740 S   0.0  0.2   0:03.34 systemd                                                                                                                 
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.03 kthreadd   

top命令执行的结果是动态输出的,它的特点是把占用系统资源最高的进程放到前面。

  • RES这一项是进程所占内存大小
  • %mem为使用内存大小百分比
  • top -bn1可以一次性输出所有信息,但是它是静态的。

sar命令监控系统状态

sar命令很强大,可以监控几乎所有资源的状态,比如平均负载,网卡流量,磁盘状态,内存使用等。它可以输出历史信息,可以截取某个时间段的系统状态信息。如果没有安装该名利,可以使用` yum install -y sysstat 安装 。初次运行会报错,是因为还没生成相应的数据库文件。

  • sar -n DEV 该命令能把当天就的网卡信息打印出来,每隔十分钟记录一次。
  • sar -q 查看历史负载

nload 查看网卡流量

使用yum install -y epel-release ; yum install -y nload nload这个包在扩展源里面,需要先安装扩展源。 执行这个命令可以很直观的查看当前网卡的流量情况。

转载于:https://my.oschina.net/u/3731306/blog/1844395

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值