1.内存监控

以1秒为时间间隔,连续5收集内存数据

[root@master ~]# vmstat 1 5
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    140  20716  28524  60576    0    0    13    14   30   94  0  1 98  1  0
 0  0    140  20716  28524  60584    0    0     0     0   20   19  0  0 100  0  0
 0  0    140  20716  28524  60584    0    0     0     0   18   22  0  0 100  0  0

字段说明

procs

-r在运行队列中等待的进程数

-b在等待io的进程数


memory

-swpd已经使用的交换内存(kb)

-free空闲的物理内存

-buff用于缓冲区的内存数

-cache用于高速缓冲的内存数


swap

-si 从磁盘到交换内存的交换页数量 kb/s

-so 从内存到磁盘的交换页数据 kb/s


io

-bi发送到块设备的块数 块/s

-bo从块设备中接收的块数 块/s


system

-in每秒的中断数,包括时钟中断

-cs每秒上下文切换的次数


CUP

-us 用户进程使用cpu时间%

-sy 系统进程使用cpu时间%

-id cup空闲时间%

-wa 等待IO所消耗cpu时间%

-st 从虚拟设备中获得的时间%


重点关注 free si so



2.cpu监控

主要三个指标:运行队列 cpu使用率 上下文切换

vmstat命令只能看cpu总的情况

[root@master ~]# 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
 0  0    140  17048  30568  60912    0    0    11    14   29   85  0  1 98  0  0
 0  0    140  17040  30576  60908    0    0     0    32   26   26  0  0 100  0  0
 0  0    140  17040  30576  60912    0    0     0     0   21   26  0  1 99  0  0
 0  0    140  17040  30576  60912    0    0     0     0   25   20  0  0 100  0  0


多个cpu时用mpstat,以1秒为时间间隔,连续4次收集数据

[root@master ~]# mpstat 1 4
Linux 2.6.32-358.2.1.el6.i686 (master)  2013年09月16日  _i686_  (1 CPU)
02时01分48秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
02时01分49秒  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
02时01分50秒  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
02时01分51秒  all    0.99    0.00    0.99    0.00    0.00    0.00    0.00    0.00   98.02
02时01分52秒  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
平均时间:  all    0.25    0.00    0.25    0.00    0.00    0.00    0.00    0.00   99.50

每个字段说明

-CPU cpu号码

-%usr 用户进程占用cpu时间%

-%nice 用户进程的nice操作所占用cpu时间%

-%sys 系统进程所占用cpu时间%

-%iowait 等待IO所消耗cpu时间%

-%irq 硬中断所占用cpu时间%

-%soft 软中断所占用cpu时间%

-%steal 虚拟设备所占用cpu时间%

-%guest

-%idle cpu空闲时间%


3.磁盘监控

[root@master ~]# iostat -d -m 1
Linux 2.6.32-358.2.1.el6.i686 (master)  2013年09月16日  _i686_  (1 CPU)
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               1.57         0.01         0.01        132        184
sdb               0.01         0.00         0.00          0          0
sdc               0.03         0.00         0.00          1          0
dm-0              0.01         0.00         0.00          0          0


对分区 /dev/sda以1秒为间隔连续3次收集数据

[root@master ~]# iostat /dev/sda 1 3
Linux 2.6.32-358.2.1.el6.i686 (master)  2013年09月16日  _i686_  (1 CPU)
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.15    0.00    0.92    0.41    0.00   98.51
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               1.56        19.25        26.76     272288     378522
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.01    0.00    3.03    0.00    0.00   95.96
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           4.00    0.00   18.00    2.00    0.00   76.00
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              33.00         0.00       920.00          0        920


-Device 设备分区名

-tps 每秒发送到设备上IO请求次数

-Blk_read/s 设备每秒读的数据 kb/s

-Blk_wrtn/s 设备每秒写的数据 kb/s

-Blk_read 设备读数据的总大小 KB

-Blk_wrtn 设备写数据的总大小 KB


4.综合监控工具top

[root@master ~]# top
top - 02:34:36 up  4:26,  3 users,  load average: 0.00, 0.00, 0.00
Tasks: 133 total,   1 running, 132 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.7%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    248984k total,   235656k used,    13328k free,    34168k buffers
Swap:   545784k total,      140k used,   545644k free,    61440k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 7759 root      20   0  2704 1120  868 R  0.3  0.4   0:00.75 top
    1 root      20   0  2900 1484 1268 S  0.0  0.6   0:04.15 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.02 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      20   0     0    0    0 S  0.0  0.0   0:00.13 ksoftirqd/0
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    6 root      RT   0     0    0    0 S  0.0  0.0   0:00.94 watchdog/0
    7 root      20   0     0    0    0 S  0.0  0.0   0:02.30 events/0
    8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper
   10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns
   11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr

.........................................................................................................................................

字段说明

第一行

系统时间 系统已经运行时间 登录系统的用户个数 最近1,5,15分钟负载平均值

第二行 进程信息

-total系统当前进程总数

-running 系统正运行的进程数

-sleeping系统正在休眠的进程数

-stopped 系统停止的进程数

-zombie 系统僵化的进程数

第三行 cpu信息

-us用户进程占cpu%

-sy系统进程占cpu%

-ni改变过优先级的用户进程占用cpu%

-id空闲cpu%

-wa等待loh占用cpu%

-hi硬件中断占用cpu%

-si软件中断占用cpu%

-st虚拟设备占用cpu%


第四行 内存信息

-total物理内存总量

-used已经使用物理内存数量

-free空闲物理内存数量

-buffers缓存区内存数量


第五行 虚拟内存信息

-total 虚拟内存部总量

-used 已经使用的虚拟内存数量

-free空闲虚拟内存数量

-cached用于缓存的虚拟内存数量


其他信息

-PID 进程id

-USER 进程运行者

-PR 优先级

-NI nice值最高-20 最低19

-VIRT 进程使用虚拟内存大小

-RES 进程使用物理内存大小

-SHR 进程使用共享内存大小

-S 进程状态

-%CPU 进程占用cpu%

-%MEM 进程占用内存%

-TIME+ 进程使用cpu总时间

-COMMAND 进程名称