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 进程名称