Linux常用监控命令简介 – vmstat,ps,free,uptime 等

vmstat [-a] [-n] [delay [ count]]
vmstat [-f] [-s] [-m]
vmstat [-S unit]
vmstat [-d]
vmstat [-p disk partition]
vmstat [-V]
指令介绍
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数。
delay:刷新时间间隔。如果不指定,只显示
一条结果。
count:刷新次数。如果不指定刷新次数,但
指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k , K, m, M,
分别代表1000, 1024, 1000000, 1048576
字节。默认单位为K(1024 bytes)
-V:显示vmstat版本信息。

方便用法推荐
每2秒输出一条结果
vmstat 2
显示活跃和非活跃内存
vmstat -a 2
输出数值解读
(Procs)r: 运行队列中进程数量
(Procs)b: 等待IO的进程数量
(Memory)swpd: 使用虚拟内存大小
(Memory)free: 可用内存大小
(Memory)buff: 用作缓冲的内存大小
(Memory)cache: 用作缓存的内存大小
(Swap)si: 每秒从交换区写到内存的大小
(Swap)so: 每秒写入交换区的内存大小
(IO)bi: 每秒读取的块数
(IO)bo: 每秒写入的块数
(System)in: 每秒中断数,包括时钟中断。
(System)cs: 每秒上下文切换数。
(CPU)us: 用户进程执行时间(user time)
(CPU)sy: 系统进程执行时间(system time)
(CPU)id: 空闲时间(包括IO等待时间)
(CPU)wa: 等待IO时间

ps 命令
ps [options]
指令介绍
-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
a 显示终端上的所有进程,包括其他用户的
r 只显示正在运行的进程。
x 显示没有控制终端的进程。
方便用法推荐
查看使用Vivek用户名运行的进程
# ps -U vivek -u vivek u
只显示Lighttpd的进程ID
# ps -C lighttpd -o pid=
找出消耗内存最多的前10名进程
# ps -auxf | sort -nr -k 4 | head -10
找出使用CPU最多的前10名进程
# ps -auxf | sort -nr -k 3 | head -10

free 命令
free [-b|-k|-m][-o][-s delay][-t][-V]
指令介绍
-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。
-o  不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t  显示内存总和列。
-V  显示版本信息。
输出数值解读
total used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652
2668236
-/+ buffers/cache: 471116 2795064
Swap: 2048276 80160 1968116
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
used:已使用多大。
free:可用有多少。

uptime 命令
uptime
uptime [-V]
输出数值解读
18:02:41 up 41 days, 23:42, 1 user,
load average: 0.00, 0.00, 0.00
10:19:04:系统当前时间
up 257 days, 18:56:主机已运行时间,时间越
大,说明你的机器越稳定。
12 user:用户连接数,是总连接数而不是用户

load average:系统平均负载,统计最近1, 5,
15分钟的系统平均负载
如果每个CPU内核的当前活动进程数不大于3的
话,那么系统的性能是良好的。如果每个CPU内
核的任务数大于5,那么这台机器的性能有严重
问题。