`
wx1569466809
  • 浏览: 72141 次
文章分类
社区版块
存档分类
最新评论

Linux系统管理工具-vmstat、top、sar、nload、w命令

 
阅读更多

第十章 Linux日常运维管理

10.1 查看系统负载

w命令

>w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

  • 查看系统负载(w)
[root@adai003 ~]# w
 11:17:30 up 13 min,  2 users,  load average: 0.00, 0.04, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      11:04   13:06   0.05s  0.05s -bash
root     pts/0    192.168.8.1      11:05    2.00s  0.02s  0.00s w

解析: 第一行从左边开始显示的信息依次是:时间,系统运行时间,登录用户数,平均负载(1min平均负载、5min平均负载、15min平均负载)。
load average:平均负载,即单位时间内CPU活动进程数,这个值越大说明服务器压力越大,一般该值不超过cpu数量就可以。

  • 查看服务器CPU数量(/proc/cpuinfo)
[root@adai003 ~]# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 58
model name	: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
stepping	: 9
microcode	: 0x12
cpu MHz		: 2493.938
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
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase smep xsaveopt
bogomips	: 4988.79
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

说明: 在此,professor即为系统CPU数量。

uptime命令

>uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

[root@adai003 ~]# uptime
 17:22:58 up  6:18,  2 users,  load average: 0.00, 0.01, 0.05

注: uptime得到的信息和w第一行结果是一样的。

tty解析

>TTY设备包括虚拟控制台,串口以及伪终端设备。

在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:

  • 串行端口
    串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。这些串行端口所对应的设备名称是: /dev/tts/0(或/dev/ttyS0),/dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0),(4,1)等,分别对应于DOS系统下的COM1、COM2等。

  • 伪终端
    伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备,对master的操作会反映到slave上)。

  • 控制终端
    如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。

  • 控制台
    在Linux 系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。只有在单用户模式下,才允许用户登录控制台。

  • 虚拟终端
    在Xwindow模式下的伪终端.如在Kubuntu下用konsole,就是用的虚拟终端,用tty命令可看到/dev/pts/name, name为当前用户名。

10.2 vmstat命令

>vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),它可以报告关于进程、内存、I/O等系统整体运行状态。

vmwstat用法

语法:

  • vmstat
    意思是静态显示内存状态一次。
[root@adai003 ~]# vmstat 
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 755756    876 138904    0    0     3     0   26   40  0  0 100  0  0
  • vmstat [n] 在此n代表数字
    意思是以n秒每次的频率动态显示内存状态(按Ctrl+c结束命令)。
[root@adai003 ~]# vmstat 1
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 755756    876 138936    0    0     3     0   26   40  0  0 100  0  0
 0  0      0 755740    876 138936    0    0     0     0   29   41  0  0 100  0  0
 0  0      0 755740    876 138936    0    0     0     0   25   30  0  0 100  0  0
 0  0      0 755740    876 138936    0    0     0     0   30   39  0  1 99  0  0
 0  0      0 755740    876 138936    0    0     0     0   24   34  0  0 100  0  0
^C
  • vmstat [n] [m]
    意思是每n秒显示一次,显示m次后命令结束!
[root@adai003 ~]# vmstat 1 3
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 755756    876 138936    0    0     3     0   26   40  0  0 100  0  0
 0  0      0 755616    876 138936    0    0     0     0   31   42  0  0 100  0  0
 0  0      0 755616    876 138936    0    0     0     0   34   45  0  0 100  0  0
[root@adai003 ~]# 

说明:

  • proc 显示进程相关信息
    • r:=run,表示运行中或等待cpu运行的进程数,如果该数长期大于服务器CPU个数,则说明CPU不够用了。
    • b:表示等待资源的进程数,如,等待I/O,内存等,这列的值如果长时间大于1,则需要关注一下。
  • memory 内存相关信息
    • swpd:表示切换到交换分区的内存量(当该数据不断变化时说明内存不足)
    • free:表示当前空闲的内存量
    • buff:缓冲大小
    • cache:缓存大小
  • swap 内存交换情况
    • si:=storage in,表示交换区写入到内存的数据量
    • so:=storage out,表示由内存写入到交换区的数据量
  • io 磁盘使用情况
    • bi:=block in,表示从块设备读取数据(写入内存)的量(即:读磁盘)
    • bo:=block out,表示(从内存读取)写入到块设备的数据(即:写磁盘)
      注: 此处数据会直接关系到proc出的b的值。
  • system 显示采集间隔内发生的中断次数
    • in:表示在某一时间间隔中观测到的每秒设备中断数
    • cs:表示每秒产生的上下文切换次数
  • CPU 显示CPU的使用状态(us+sy+id=100%)
    • us:表示用户资源所花费CPU的百分比(当该值长时间>50时说明CPU数量不足)
    • sy:表示系统资源所花费CPU的百分比
    • id:表示CPU处于空闲状态的百分比
    • wa:=wait,表示等待使用CPU的百分比(该数值大说明CPU不足)
    • st:表示被偷走的CPU所占百分比(该值一般为0,不用关注)

10.3 top命令

>top命令可以实时动态地(每3秒变一次)查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。其特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放在最前面,以确认是哪个进程占用内存。

top用法

语法: top [options]
Options:
-b:批量处理模式
-c:显示详细进程信息
-bn1:静态显示所有进程(该法多用于shell脚本)

[root@adai003 ~]# top
top - 23:28:08 up 12:24,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  84 total,   1 running,  83 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1008392 total,   754160 free,   113712 used,   140520 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   740452 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                    
  490 root      20   0  302840   6340   4780 S  0.3  0.6   1:42.80 vmtoolsd                   
    1 root      20   0  125048   3560   2400 S  0.0  0.4   0:02.13 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:00.21 ksoftirqd/0                
    6 root      20   0       0      0      0 S  0.0  0.0   0:01.39 kworker/u128:0             
……

注: 在top状态下(按q退出),按shift+m可以按内存使用大小进行排序(默认以CPU使用占比排序),按shift+p恢复按CPU使用占比排序,,按数字1可以显示每个CPU的状态。

说明:

  • 第一行是负载信息
  • 第二行是进程信息
  • 第三行是CPU使用信息
  • 第四行是内存使用信息
  • 第五行是交换区使用信息
  • 最下面是进程详细信息:
    • PID:表示进程在系统中的id号,可配合kill命令结束某进程
    • RES:表示进程所用物理内存大小(单位:KB)
    • %MEM:表示内存使用百分比(单位:KB)

10.4 sar命令

>sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态(如,平均负载,网卡流量,磁盘状态,内存使用等)计数器显示到标准输出设备。它不同于其他系统状态监控工具的地方在于,它可以打印历史信息,可以显示从零点开始到当前时刻的系统状态信息。

sar用法

使用‘yum install -y sysstat’安装该命令!初次使用sar命令(不加选项、参数)会报错,原因是sar命令还没有生成相应的数据库文件。其数据库保存在‘/var/log/sa/’目录下,该目录下存放两种文件,分别以‘sa日期’&‘sar日期’的格式命名(区别是sar文件在第二天生成,可以使用cat命令查看;sa文件实时<每个整‘10’分钟更新一次>生成,是二进制文件,无法查看),最多保留一个月。

语法: sar [options] [参数]
Options:
-f:从指定文件提取报告

  • sar -n DEV m n 查看网卡流量(在此m、n的用法同vmstat命令!)
[root@adai003 ~]# sar -n DEV 1 2
Linux 3.10.0-514.el7.x86_64 (adai003) 	2017年07月11日 	_x86_64_	(1 CPU)

00时13分32秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
00时13分33秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
00时13分33秒     ens33      1.02      1.02      0.06      0.19      0.00      0.00      0.00

00时13分33秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
00时13分34秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
00时13分34秒     ens33      1.98      1.98      0.12      0.45      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      1.51      1.51      0.09      0.32      0.00      0.00      0.00

说明:

  • rxpck/s:表示接收数据(包)的个数

  • txpck/s:表示发送数据(包)的个数

  • rxKB/s:表示接收的数据量

  • txKB/s:表示发送的数据量
    注: 当rxpck/s的值大于4000或者rxKB/s的值大于5000时则可能是在被攻击(需配合抓包工具进一步确认)!

  • sar -q 查看系统负载(配合-f选项使用,查看历史负载)

[root@adai003 ~]# sar -q -f 
Linux 3.10.0-514.el7.x86_64 (adai003) 	2017年07月11日 	_x86_64_	(1 CPU)

00时10分01秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
00时20分01秒         1       101      0.00      0.01      0.05         0
00时30分01秒         2       102      0.00      0.01      0.05         0
平均时间:         2       102      0.00      0.01      0.05         0
  • sar -b 查看磁盘信息
[root@adai003 ~]# sar -b 1 3
Linux 3.10.0-514.el7.x86_64 (adai003) 	2017年07月11日 	_x86_64_	(1 CPU)

00时36分28秒       tps      rtps      wtps   bread/s   bwrtn/s
00时36分29秒      0.00      0.00      0.00      0.00      0.00
00时36分30秒      0.00      0.00      0.00      0.00      0.00
00时36分31秒      0.00      0.00      0.00      0.00      0.00
平均时间:      0.00      0.00      0.00      0.00      0.00

10.5 nload命令

使用前需要先安装该命令:

[root@adai003 ~]# yum install -y nload

注: 在安装此包前需要先安装yum扩展源:epel-release。

用法

[root@adai003 ~]# nload

mark
注: 在该界面显示系统网络动态信息,可使用方向键在不同网卡之间进行切换,按q键退出,根据实时网速和总网速的比较可以评估网络状态!

转载于:https://my.oschina.net/1995blog/blog/1593436

分享到:
评论

相关推荐

    Linux系统命令top,ps,kill,free,vmstat等命令的源码

    在Linux操作系统中,掌握一些基础的系统管理命令是至关重要的,比如`top`, `ps`, `kill`, `free`和`vmstat`等。这些命令提供了监控系统性能、查看进程状态、管理进程以及分析内存和虚拟内存使用情况的能力。本源码包...

    sar 与vmstat命令.txt

    综上所述,`sar`和`vmstat`命令都是极其重要的系统监控工具,通过它们可以详细了解系统的运行状况,及时发现并解决潜在问题,确保系统的稳定性和高效性。在实际应用中,应根据具体的监控需求灵活选择合适的参数组合...

    linux操作系统实验七-Linux存储管理操作实践.pdf

    通过本实验,学生可以熟悉 Linux 存储管理操作的各个方面,包括 free 命令、top 命令、vmstat 命令和 ps 命令的使用。 一、free 命令 free 命令是 Linux 系统中用于显示系统内存使用情况的命令。通过 free 命令,...

    Linux系统管理员应该知道的20个系统监控工具.pdf

    ### Linux系统管理员应该知道的20个系统监控工具 #### 概述 在现代IT环境中,Linux作为服务器操作系统被广泛采用。为了确保系统的稳定性和高效性,Linux系统管理员需要掌握一系列系统监控工具来帮助他们诊断并解决...

    Linux命令大全搜索工具linux-command-master.zip

    Linux命令涵盖范围广泛,包括文件和目录管理(如`cd`、`mkdir`、`rm`、`cp`、`mv`)、文本处理(如`grep`、`sed`、`awk`)、进程管理(如`ps`、`kill`、`top`)、网络通信(如`ping`、`curl`、`nc`)以及系统监控...

    CentOS Linux系统管理与运维-课件.rar

    6. **系统监控与性能优化**:学习使用top、htop、iostat、vmstat等工具监控系统资源,以及如何调整内核参数以优化系统性能。 7. **日志管理**:了解日志文件的位置和含义,学习如何使用logrotate进行日志轮换,以及...

    Linux系统性能调优-内容指南完整版

    - **监控工具**:如`top`、`vmstat`、`iostat`、`netstat`用于实时查看系统状态,`dstat`提供综合视图,`sar`记录历史数据,`htop`提供交互式界面等。 - **压测工具**:如`stress`模拟负载,`ab`测试HTTP性能,`...

    UNIX/Linux 系统管理技术手册(第四版)

    - **性能分析**:讲解了如何使用top、vmstat等命令进行系统资源监控,并利用perf、gprof等工具进行性能分析。 - **与Windows系统的协作**:探讨了在混合环境中如何实现Linux与Windows系统的资源共享和互操作性。 - *...

    高级 Linux 命令精通指南--资源管理3.docx

    总之,掌握`free`、`vmstat`、`mpstat`、`iostat`、`sar`和`ipcs`等命令是Linux系统管理的关键技能。这些工具提供的信息对于识别资源瓶颈、优化系统性能以及诊断和解决问题都至关重要。在实践中,灵活运用这些命令,...

    Linux开发工具箱--项目开发的最有效途径.pdf

    还重点讲解sar、vmstat、valgrind和strace等工具的输出,以及如何将它们运用到应用程序中;如何利用各种编程API来开发适用于自己的工具。 最后,作者介绍了可以提高软件性能的工具;解释了如今市面上的多芯CPU的内在...

    Linux系统监控工具

    本文将详细介绍《Linux系统20个系统常用监控工具》中的部分关键工具,包括但不限于`top`、`vmstat`、`w`和`uptime`等。通过这些工具的应用,可以帮助系统管理员快速定位和解决系统性能瓶颈。 #### 二、找出瓶颈 在...

    管理员必备的20个Linux系统监控工具1

    "管理员必备的20个Linux系统监控工具" 作为一名IT专业人士,我将对Linux系统监控工具进行详细的解释和分析。本文将介绍20个基本的Linux系统监控工具,这些工具可以帮助管理员找到系统性能瓶颈,包括硬盘瓶颈、CPU及...

    管理员必备的20个Linux系统监控工具.docx

    管理员必备的20个Linux系统监控工具 在Linux系统中,监控工具是管理员必备的工具之一。这些工具提供了许多实时的系统活动信息,帮助管理员快速地识别系统中的瓶颈和问题。以下是20个Linux系统监控工具的详细介绍: ...

    150个常用Linux命令

    随着Linux系统的广泛应用,掌握其基本命令对于任何从事IT行业的人来说变得尤为重要。本文将基于“150个常用Linux命令”的内容,详细介绍其中的关键知识点,特别是那些对于初学者而言至关重要的命令。 #### 一、帮助...

    Linux系统管理基础项目教程(CentOS7.2)(微课版)-课件PPT.zip

    13. **性能监控与优化**:学习使用工具如top、htop、iotop、vmstat等监控系统性能,并根据监控结果进行优化。 通过这个教程,你将不仅能够对Linux系统有深入的理解,还能具备实际操作和管理Linux服务器的能力。这个...

    linux操作系统实验七-Linux存储管理操作实践分享.pdf

    Linux 存储管理是指操作系统对计算机存储资源的管理和分配,包括内存管理、磁盘管理、文件系统管理等。 Linux 存储管理的特点是大地址空间、进程保护、内存映射、公平的物理内存分配、共享虚拟内存等。 二、free ...

    Linux命令大全完整版.pdf

    - 用户管理命令:如adduser(添加用户)、useradd(添加用户)、userdel(删除用户)等,用于管理系统的用户账户。 - 进程控制命令:如kill(发送信号杀死进程)、ps(显示进程状态)、top(动态显示进程状态)等,...

Global site tag (gtag.js) - Google Analytics