教学之友,学习之友。

站长教学网

Linux系统性能监控命令带参数详解

时间:2012-04-10 16:08来源:未知 作者:ken 点击:

CPU利用率:

Linux以及大多数基于UNIX的操作系统都提供了一条命令来显示系统的平均负载(load average):

clip_image002

具体的讲,平均负载代表了在1min,5min和15min内可以运行的任务平均数。可运行的任务包括当前正在运行的任务以及虽然可以运行但正在等待某个处理器空闲的任务。我这里只有一个CPU,且0.31,0.46,0.21均小于1.00,这表明处理器仍拥有额外的空闲周期。同理如果有两个CPU,且load average均小于2.00的话,这同样表明处理器拥有额外的空闲周期。然后负载平均值单独并不能说明所有问题。

为了更深入地探究处理器的使用情况,下面介绍几种工具可以提供许多关于CPU利用的不同理解:

1) vmstat

一个实时性能监视工具。该工具提供了有助于发现系统异常活动的数据。

clip_image004

上面的命令是每1s输出vmstat的信息,共10次,具体说明如下:

Procs:提供了在生成报告时正在运行的进程数目(r)以及被阻塞的进程数目(b)

Memory: 提供了换出内存(swpd),空闲内存(free),IO数据结构的缓存区缓存(buff)以及从磁盘读取文件的内存缓存(cache)的容量。单位为KB.

Swap:提供了从磁盘上换入内存容量(si)以及换出到磁盘上的内存量(so),单位为KB/s.so反应了当数据被换出至交换区时kswapd的情况,而si则反映了当页面被换回到物理内存时发生页面错误的情况。

io:提供了从设备读入的块数(bi)以及写出到设备上的块数(bo),单位为KB/s。

System: 提供了每秒的中断数目(in)和上下文切换数目(cs).

Cpu:提供了用户(us),系统(sy),真正空闲(id)以及等待I/O完成(wa)在cpu总时间中所占的百分比。

2) top与gtop

它可以显示哪些进程是活跃的以及哪些进程消耗的处理时间或内存最多。top命令对于所有正在运行的进程和系统负载提供不断更新的概览信息。包括cpu负载,内存使用以及每个进程的内存使用情况。

clip_image006

默认情况下,top输出经常刷新,且把任务基于CPU占用时间的百分比排序。对图详细解释如下:

第一行:显示正常运行的时间,包括当前时间,系统上次重启后已运行的时间和当前用户数量以及3个用于表示在先前1min,5min,15min内准备运行的平均处理器数目的平均负荷值。

第二行:给出进程的统计信息。包括正在运行的进程总数。具体还有正在运行的,睡眠的,僵尸的和已停止进程的数目。

第三和四行:显示各个的统计信息。包括用户进程,系统进程,niced进程(优先进程)以及空闲进程所占用的cpu的时间比。

第五行提供内存统计信息。包括内存总量,已用内存,空闲内存,不同进程共享的内存以及缓存内存。

第六行显示虚存或交换活动的统计信息,包括交换空间总量,已经使用的,空闲的和缓存空间大小。

具体到统计信息的每一行,看下边:

PID: 每个进程的ID;

USER: 每个进程所有者的用户名;

PR: 每个进程的优先级别;

NI: 该进程的优先级值;

VIRT: 虚拟内存;

RES: 常驻内存;

SHR: 共享内存;

%CPU: 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比;

%MEM: 内存使用率,该进程占用的物理内存占总内存的百分比;

TIME: 该进程自启动以来所占用的总CPU时间。如果进入的是累计模式,那么该时间还包括这个进程子进程所占用的时间。且标题会变成CTIME;

COMMAND: 该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行.

3)sar

它收集包括CPU利用率,上下文切换和中断速率,页换入和页换出速率,共享内存的使用情况,缓冲区使用情况以及网络使用情况。它常常用于确定事件的时间,也可用于标识特定的系统行为变化。Sar可以使用更短的时间间隔或固定数目的时间间隔来输出信息,sar可以为所收集的许多数据点提供平均信息。sar命令的选项很多,下面只列出常用选项:

-A:所有报告的总和。

-u:CPU利用率

-v:进程、I节点、文件和锁表状态。

-d:硬盘使用报告。

-r:没有使用的内存页面和硬盘块。

-g:串口I/O的情况。

-b:缓冲区使用情况。

-a:文件读写情况。

-c:系统调用情况。

-R:进程的活动情况。

-y:终端设备活动情况。

-w:系统交换活动。

clip_image008

以上每2秒采样一次,连续采样5次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件zhou中。如果要查看二进制文件zhou中的内容,则需键入如下sar命令:
# sar -u -f zhou
可见,sar命令即能实时采样,又能对以往的采样结果进行查询。

在显示内容包括:
CPU all 表示统计信息为所有 CPU 的平均值。
%user 显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice 显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
%system 在核心级别(kernel)运行所使用 CPU 总时间的百分比。
%iowait 显示用于等待I/O操作占用 CPU 总时间的百分比。
%steal 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle 显示 CPU 空闲时间占用 CPU 总时间的百分比。

(责任编辑:ken)

TAG标签: linux 内存 top sar vmstat iostat gtop
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容