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

第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载。
第二行开始以及下面所有的行,告诉我们:当前登录的都有哪些用户,以及他们是从哪里登录的等等。其实,在这些信息当中,我们最应该关注的应该是第一行中的 ‘load average:’ 后面的三个数值。

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

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

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

我们着重看中第一个值,它表示单位时间段内CPU活动进程数。当然这个值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系,如果服务器cpu数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了。

  • 查看cpu核心数量, cat /proc/cpuinfo
[[email protected] ~]# cat /proc/cpuinfo

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

  • uptime 实时查看
[[email protected] ~]# uptime
 15:44:37 up 32 min,  1 user,  load average: 0.00, 0.01, 0.05
  • 查看当前系统有几个cpu,我们可以使用这个命令:

    grep -c ‘processor‘ /proc/cpuinfo

[[email protected] ~]# grep -c ‘processor‘ /proc/cpuinfo
2

二 用vmstat 命令监控系统的状态

用法如下:

vmstat命令打印的结果共分为6部分:procs, memory, swap, io, system, cpu.。请重点关注一下r、b、si、 so、bi、bo、wa几列。

#vmstat           //显示当前系统状态
#vmstat 1       //每隔1秒输出一次运行状态,可以是其他任意数值,ctrl+c终止
#vmstat 1 5     //每隔1秒输出一次运行状态,输出5次后终止

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处于空闲状态的时间百分比。
  • us+sy+id =100%
  • [ ] wa:表示I/O等待所占用CPU的时间百分比。
  • [ ] st:表示被偷走的CPU所占百分比(一般都为0,不用关注)

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

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

用法如下:

Top命令用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。top命令打印出了很多信息,包括系统负载(loadaverage)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。

  • [ ] %CPU cpu的使用情况
  • [ ] %MEM 使用内存的百分比
  • [ ] RES 进展所占的内存大小,单位为Kbyte
  • 输入top指令后,按大写的M查看%MEN,并以大到小排序;
    按大学P,%CPU的使用情况,按照大小顺序排列。
    按下数字1,产看每个CPU的占用情况

    按数字1切换
  • top -c 查看详细的进程信息

  • top -bn1 静态显示所有进程,表示了非动态打印系统资源的使用情况,在shell脚本中常用。

  • 同时需要关注的是PID,可以用kill命令杀死该进程.

四 sar命令监控系统状态

sar 命令很强大,它可以监控系统所有资源状态,比如平均负载、网卡流量、磁盘状态、内存使用等等。它不同于其他系统状态监控工具的地方在于,它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。如果你系统没有安装这个命令,请使用 yum install -y sysstat命令安装。初次使用sar命令会报错,那是因为sar工具还没有生成相应的数据库文件(时时监控就不会了,因为不用去查询那个库文件)。它的数据库文件在 “/var/log/sa/” 目录下,每10分钟抓一次,生成文件保存在该目录下。

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

用法如下:

这个命令把党听记录的网卡信息打印出来,每隔10分钟记录一次。以下参数是重点关注的。

IFACE:表示设备名称.
rxpck/s:表示每秒进入收取的包的数量有多少。
txpck/s:表示每秒发送出云的包的数量有多少。
rxkB/s:表示每秒收取的数据量(单位为KB)。
txkB/S:表示每秒发送的数据量

剩下后面几列不需要关注。如果有一天你所管理的服务器丢包非常严重,那么你就应该看一看这个网卡流量是否异常了,如果rxpck/s 那一列的数值大于4000,或者rxbyt/s那列大于5000000则很有可能是被攻击了,正常的服务器网卡流量不会高于这么多,除非是你自己在拷贝数据。这是你需要实时查看网卡流量

  • sar -n DEV 1 5 //每隔1秒输出一次网卡流量状态,5次后终止

  • 使用-f选项查看某一天的网卡流量历史,后面跟文件名.

但是/var/log/sa/saXX 只能保存一个月

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

2. 查看历史负载 sar -q

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

  • sar -b 查看磁盘负载,读写情况。

  • sar -b 1 5 //每隔1秒输出一次磁盘负载状态,5次后终止

五、 用nload命令查看网卡流量

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

[[email protected] ~]# yum install -y nload

ncoming为进入网卡的流量。

Outgoing为网卡出去的流量。

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

按q退出该界面。

  • 补充saXX和sarXX,XX为日期,saXX是二进制文件,只能用sar -f命令查看,而sar文件是需要一天才能生成的,可以用cat命令查看

原文地址:http://blog.51cto.com/12995218/2065843

时间: 2024-07-31 06:07:43

25.Linux系统管理技巧-w,vmstat,top,sar,nload命令的相关文章

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

[每天一个Linux小技巧] gdb 下一次运行多个命令

一般gdb运行的时候,我们仅仅能输入一个命令. 如: (gdb) c (gdb) bt 假设想运行多个命令怎么办? 能否像bash那样, 使用; 如 ls; ls 结论是不行. 但能够通过gdb 内建函数的的方式来实现: (gdb) def cbt >c >bt 10 >end (gdb) 也能够追加到 $HOME/.gdbinit下, 每次启动gdb后会自己主动载入. [每天一个Linux小技巧] gdb 下一次运行多个命令,布布扣,bubuko.com

[每天一个Linux小技巧] gdb 下一次执行多个命令

一般gdb执行的时候,我们只能输入一个命令. 如: (gdb) c (gdb) bt 如果想执行多个命令怎么办? 是否能像bash那样, 使用; 如 ls; ls 结论是不行. 但可以通过gdb 内建函数的的方式来实现: (gdb) def cbt >c >bt 10 >end (gdb) 也可以追加到 $HOME/.gdbinit下, 每次启动gdb后会自动加载. [每天一个Linux小技巧] gdb 下一次执行多个命令

第13章 linux系统管理技巧(日常运维管理技巧)

这一章的内容是核心,以后会用的几率也是很大的,只要掌握必备的基础知识,做初级系统管理员是不成问题的. 13.1监控系统的状态 作为一个运维工程师.系统管理员,如果对自己的系统不了解的话,那怎么排查问题呢?如果出现问题的话,肯定要查一下是什么问题,哪里的问题,系统的资源的耗费情况如何查看. 13.1.1使用w命令查看当前系统的负载 第一部分是系统时间,使用date命令也可以查看当前时间. 第二部分是系统运行时间 第三部分是登陆了几个用户,从下面可以看到,也可以看到登录了哪个终端.如果是网络登录的话

Linux系统管理(一):定时任务Crontab命令

前言: 我们知道,at命令是用户直接给定一个时间点去执行某特定的任务,对于一些日常都需要去执行的命令,我们不能每天都去执行一次,所以,Linux提供了一个循环运行的例行工作命令"crontab",它是由cron(crond)这个系统服务去控制的,IT运维人员通过配置crontab配置文件去实现循环运行,目前它是互联网很常用的技术.(我们也可以把它理解为Windows下的"任务计划程序"),接下来,我们看一下怎么去使用这个命令: Crontab的语法 [[email 

linux 系统管理技巧

查看磁盘状态命令 iostat -x   磁盘使用   # 查看 tm  %util  说明的等待的占比是多少,数值越大说明磁盘太差 iotop 磁盘使用       # 具体查看哪个占用的数据大 # 更详细的查看磁盘状态 free  查看内存的使用情况 free -h   以Gb的单位显示 [[email protected] ~]# free -h     #单位是GB             total       used       free     shared    buffers

Linux centos6.6 dstat htop top进程管理命令

进程管理 命令: pstree 显示:进程树 pstree–p 显示:进程树和PID ps:process state Linux运行中的内核的相关信息是通过/proc伪文件系统输出的:各进程都有一个以其PID命名的子目录,每个子目录中有许多文件存储了进程的相关状态信息.显示的是ps命令执行时,系统上当前进程状态信息的快照:所以,为静态结果. 根据进程启动时是否是通过终端上的用户接口交互式启动的,进程可分为两类: ps a 显示:终端相关的进程 ps x 显示:终端无关的进程 ps u 显示:用