linux 性能监控的指标包括:

CPU、内存、IO、网络等等。

这些子系统之间关系是相互彼此依赖的,任何一个高负载都会导致其他子系统出现问题.比如:
大量的页调入请求导致内存队列的拥塞
网卡的大吞吐量可能导致更多的 CPU 开销
大量的CPU 开销又会尝试更多的内存使用请求
大量来自内存的磁盘写请求可能导致更多的 CPU 以及 IO 问题
所以要对一个系统进行优化,查找瓶颈来自哪个方面是关键,虽然看似是某一个子系统出现问题,其实有可能
是别的子系统导致的.

uptime

检测系统平均负载: uptime,它会展示系统运行时间、用户数量及平均负载:

三个平均负载的时间分别是 1分钟、5分钟、15分钟

高平均负载意味着系统是过载的:许多进程在等待 CPU 时间。

更深入来说 ,假设系统负载如下:

23:16:49 up 10:49, 5 user, load average: 1.00, 0.40, 3.35

在单核系统中意味着:

CPU 被充分利用(100%);最近的 1 分钟有 1 个进程在运行。
CPU 有 60% 处于空闲状态;在最近的 5 分钟没有进程等待 CPU 时间。
CPU 平均过载了 235%;最近的 15 分钟平均有 2.35 个进程在等待 CPU 时间。
在双核系统中意味着:

有一个 CPU 处于完全空闲状态,另一个 CPU 被使用;最近的 1 分钟没有进程等待 CPU 时间。
CPU 平均 160% 处于空闲状态;最近的 5 分钟没有进程等待 CPU 时间。
CPU 平均过载了 135%;最近的 15 分钟有 1.35 个进程等待 CPU 时间。

top

top命令显示系统运行中的进程,并且是实时的。
语法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明:

d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内

实例
显示进程信息

top

显示完整命令

top -c

以批处理模式显示程序信息

top -b

以累积模式显示程序信息

top -S

设置信息更新次数

top -n 2

//表示更新两次后终止更新显示
设置信息更新时间

top -d 3

//表示更新周期为3秒
显示指定的进程信息

top -p 139

//显示进程号为139的进程信息,CPU、内存占用率等
显示更新十次后退出

top -n 10
使用者将不能利用交谈式指令来对行程下命令

top -s

vmstat

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

vmstat 5 5 【在5秒内进行5次采样】



字段说明:

Procs(进程):

r: 运行队列中进程数量

b: 等待IO的进程数量

Memory(内存):

swpd: 使用虚拟内存大小

free: 可用内存大小

buff: 用作缓冲的内存大小

cache: 用作缓存的内存大小

Swap:

si: 每秒从交换区写到内存的大小

so: 每秒写入交换区的内存大小

IO:(现在的Linux版本块的大小为1024bytes)

bi: 每秒读取的块数

bo: 每秒写入的块数

系统:

in: 每秒中断数,包括时钟中断。【interrupt】

cs: 每秒上下文切换数。 【count/second】

CPU(以百分比表示):

us: 用户进程执行时间(user time)

sy: 系统进程执行时间(system time)

id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

wa: 等待IO时间

标签: none

添加新评论