69.liunx日常管理:w,top,vmstat,sar命令

一:W命令描述

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

命令语法

W [选项][参数]

选项

-h:不打印头信息;
-u:当显示当前进程和cpu时间时忽略用户名;
-s:使用短输出格式;
-f:显示用户从哪登录;
-V:显示版本信息。

参数

用户:仅显示指定用户。

注:一般在使用的过程中 直接 输入 W 即可
第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载。
第二行开始以及下面所有的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等。其实,在这些信息当中,我们最应该关注的应该是第一行中的 ‘load average:’ 后面的三个数值。
这几个个值的意义是,单位时间段内CPU活动进程数。当然这个值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系,如果服务器cpu数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了。
[[email protected] /]# w
23:39:58 up 34 min, 2 users, load average: 0.16, 0.05, 0.06
USER TTY [email protected] IDLE JCPU PCPU WHAT
root tty1 23:07 32:14 0.16s 0.16s -bash
root pts/0 23:08 6.00s 1.01s 0.13s w
[[email protected] /]# ^C
[[email protected] /]#

可以使用下面的命令查看CPU的数量
[[email protected] /]# grep -c ‘processor‘ /proc/cpuinfo
1
[[email protected] /]#

二:vmstat命令描述

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

命令语法

vmstat(选项)(参数)

选项

-a:显示活动内页;
-f:显示启动后创建的进程总数;
-m:显示slab信息;
-n:头信息仅显示一次;
-s:以表格方式显示事件计数器和内存状态;
-d:报告磁盘状态;
-p:显示指定的硬盘分区状态;
-S:输出信息的单位。

参数

事件间隔:状态信息刷新的时间间隔;
次数:显示报告的次数。

字段说明:

Procs(进程)

r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1)
b: 等待IO的进程数量。

Memory(内存)

swpd: 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。
free: 空闲物理内存大小。
buff: 用作缓冲的内存大小。
cache: 用作缓存的内存大小,如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。
Swap

si: 每秒从交换区写到内存的大小,由磁盘调入内存。
so: 每秒写入交换区的内存大小,由内存调入磁盘。

注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。

IO(现在的Linux版本块的大小为1kb)

bi: 每秒读取的块数
bo: 每秒写入的块数
注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。

system(系统)

in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。
注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。

CPU(以百分比表示)

us: 用户进程执行时间百分比(user time)
us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。

sy: 内核系统进程执行时间百分比(system time)
sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。

wa: IO等待时间百分比
wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

id: 空闲时间百分比
案例
[[email protected] /]# 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 288932 692 86384 0 0 38 3 42 56 0 1 98 0 0
[[email protected] /]#

三:top

top命令性能监测与优化
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

语法

top(选项)

选项

-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。
top交互命令
在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。

案例

top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92
Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie
Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers
Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached
描述解释:

top - 09:44:56[当前系统时间],
16 days[系统已经运行了16天],
1 user[个用户当前登录],
load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
Tasks: 145 total[总进程数],
2 running[正在运行的进程数],
143 sleeping[睡眠的进程数],
0 stopped[停止的进程数],
0 zombie[冻结进程数],
Cpu(s): 99.8%us[用户空间占用CPU百分比],
0.1%sy[内核空间占用CPU百分比],
0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
0.0%hi[],
0.0%st[],
Mem: 4147888k total[物理内存总量],
2493092k used[使用的物理内存总量],
1654796k free[空闲内存总量],
158188k buffers[用作内核缓存的内存量]
Swap: 5144568k total[交换区总量],
56k used[使用的交换区总量],
5144512k free[空闲交换区总量],
2013180k cached[缓冲的交换区总量],

四:sar

sar命令性能监测与优化
sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

语法

sar(选项)(参数)

选项

-A:显示所有的报告信息;
-b:显示I/O速率;
-B:显示换页状态;
-c:显示进程创建活动;
-d:显示每个块设备的状态;
-e:设置显示报告的结束时间;
-f:从指定文件提取报告;
-i:设状态信息刷新的间隔时间;
-P:报告每个CPU的状态;
-R:显示内存状态;
-u:显示CPU利用率;
-v:显示索引节点,文件和其他内核表的状态;
-w:显示交换分区状态;
-x:显示给定进程的状态。

参数

间隔时间:每次报告的间隔时间(秒);
次数:显示报告的次数。

实例

察看内存和交换空间的使用率:

sar -r
Linux 2.4.20-8 (www.linuxde.net) 20130503
12:00:01 AM kbmemfree kbmemused %memused
kbmemshrd kbbuffers kbcached
12:10:00 AM 240468 1048252 81.34
0 133724 485772
12:20:00 AM 240508 1048212 81.34
0 134172 485600

08:40:00 PM 934132 354588 27.51
0 26080 185364
Average: 324346 964374 74.83
0 96072 467559
kbmemfree与kbmemused字段分别显示内存的未使用与已使用空间,后面跟着的是已使用空间的百分比(%memused字段)。kbbuffers与kbcached字段分别显示缓冲区与系统全域的数据存取量,单位为KB。

观察系统部件10分钟,并对数据进行排序:

sar -o temp 60 10

原文地址:http://blog.51cto.com/sdwaqw/2064025

时间: 2024-11-07 22:54:01

69.liunx日常管理:w,top,vmstat,sar命令的相关文章

十四、w、vmstat、top、sar命令

第五章 Linux 系统日常运维管理 1,查看系统负载命令. #w 08:47:36 up  3:25,  2 users,  load average: 0.00, 0.00, 0.00  (#uptime 也显示这一行) USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT root     tty1     -                05:23    1:38m  0.02s

查看系统负载 w top vmstat,sar

查看系统负载 1.#w 第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载;第二行开始以及下面所有 的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等. load average 平均负载 load average后跟三个数值,第一个数值表示1分钟内系统的平均负载值(即1分钟之内有多少个进程在使用CPU ):第二个数值表示5分钟内系统的平均负载值:第三个数值表示15分钟系统的平均负载值.意义是单位时间段 内CPU活动进程数.值越大就说明服务器压力越

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

Linux日常管理技巧(1):w,top,vmstat,sar命令

一.w命令 linux管理员最常用的命令就是这个 w 了,该命令显示的信息还是蛮丰富的.第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载.第二行开始以及下面所有的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等.其实,在这些信息当中,我们最应该关注的应该是第一行中的 'load average:' 后面的三个数值. 第一个数值表示1分钟内系统的平均负载值:第二个数值表示5分钟内系统的平均负载值:第三个数值表示15分钟系统的平均负载值. 这几个个值

笔记8(日常运维w、vmstat、top、sar、nload、free、ps、netstat、tcptump、Linux防火墙)

w查看系统负载 date 查看当前系统的时间 w出来的,第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载.第二行开始以及下面所有的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等.其实,在这些信息当中,我们最应该关注的应该是第一行中的 'load average:' 后面的三个数值. 第一个数值表示1分钟内系统的平均负载值:第二个数值表示5分钟内系统的平均负载值:第三个数值表示15分钟系统的平均负载值.这个值的意义是,单位时间段内CPU活动进程数

Linux日常运维管理技巧: w命令-查看系统负载、vmstat命令、top命令、sar命令

                              w命令:查看系统负载      w  load average 单位时间内使用cpu活动的活动进程有多少个   查看系统cpu(逻辑cpu)数量   cat /proc/cpuinfo (当我们的进程在单位时间内活动数量不超过我们的系统逻辑cpu数量就是最佳状态, 当我们的进程大于cpu时要注意是什么占用我们的cpu)                                                            

Linux centos7 日常运维——使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令

一.使用w查看系统负载 w .uptime查看系统负载,0.00表示1分钟之内负载为0 cat  /proc/cpuinfo查看cpu核数 二.vmstat命令,查看进程.cpu.memory.交换.io.系统 r.swpd.si.so.bi.bo.us.wa 动态每秒显示共5次 run运行, block进程等待, swap交换分区内存不够才会放, si/so有多少个kb数据从swap进入/出内存,bi/bo从磁盘读/写入内存,us用户占用cpu百分比,不会超100,id空闲,wa等待wait

命令 w 、vmstat、top、sar、nload

Linux 日常运维管理技巧 监控系统状态 1.使用 w 查看系统负载 首先来使用 w 命令,见下图,上图红色框框的内容, 22:23:31 表示系统当前的时间,up 0 min 表示启动多长的时间,刚刚启动 0 分钟.下面的 date 命令也可以查看当前的日期和时间.1 user 表示目前登录一个用户,登录的用户可以从下面的两行看到具体信息,TTY 这边,如果是网络登录的话,就会显示成 pts/0 或 pts/1 .上面是使用 PuTTY 登录的终端,接着来看一下原始终端,也就是虚拟机登录的信

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: