linux 系统性能监控
系统监控可分为系统性能监控和故障监控,其中系统性能监控主要以CPU,内存,磁盘和网络为基准来衡量。
一、性能分析的标准:
衡量一个系统的性能状态,主要从系统的响应时间和系统的吞吐量进行分析。
系统的响应时间:指发出请求的时刻到用户获得返回结果所需要的时间
系统的吞吐量:指在给定时间段内系统完成的交易数量,如系统的吞吐量越大,说明系统在相同时间内完成的用户或系统的请求越多
二、监控指标
(1)、内存监控
linux的内存分为物理内存和虚拟内存,物理内存是真实存在,虚拟内存是交换分区,从硬盘空间分出空间来补充
内存监控的命令:
vmstat 主要对系统的虚拟内存,进程,cpu等进行监视。
如:要以5秒为时间间隔,连续收集20次的数据,命令为 vmstat 5 20,结果收集如下:
数据中各字段分析:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cpu监控
linux系统监控CPU的系能主要关注3个指标:运行队列,CPU使用率和上下午切换.
运行队列:每个CPU都会维护一个运行队列,调度器会不断的轮询让队列中的进程运行,直到进程运行完成将其在队列中删除
cpu使用率:可分为用户的进程,系统进程,等待IO 空闲等占用CPU的百分比
上下文切换:指通过CPU轮询的方法,linux能够支持多任务同时运行,当一个进程用完时间片或者被优先级高的进程抢占时间片后,会被转到cpu的等待队列中,而让其他进程在cpu中运行
(2)、磁盘监控
iostat 可以对系统活动的磁盘进行监控,并统计数据使用情况
命令格式: iostat 命令选项
常用命令选项:
-c 只显示cpu的使用情况
-d:只显示磁盘的使用情况
-k:以KB/s 作为统计结果单位
-m:以MB/s作为统计结果单位
-n:显示NFS的统计信息
-p:显示设备所有分区统计信息
-t:在每次统计结果中显示时间
如:以KB为单位,不显示CPU数据,每5s涮新一次,命令如下:
iostat -t -d -k 5
(3)、网络监控
网络监控主要关注;网卡的吞吐量是否过载和网络是否稳定,是否出现丢包现象
可用sar命令查看
如sar -n DEV 5 3
对于网络的错误信息统计
sar -n EDEV 5 3
(4)、综合监控工具
top 是一个交互式性能监控工具,可以同时监控内存,cpu 进程 用户数据 运行时间等信息.如使用如下: