liunx查看性能的下令(top和glance)的详解
linux的top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q ,以下就让我们看看相关的命令。
Linux 查看性能操作实例:
在命令行中输入 “top”
即可启动 top
top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。
第一部分 -- 最上部的 系统信息栏 :
第一行(top):
“00:11:04”为系统当前时刻;
“3:35”为系统启动后到现在的运作时间;
“2 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现
为终端的数目;
“load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负
载当前系统所包含的进程;
第二行(Tasks):
“59 total”为当前系统进程总数;
“1 running”为当前运行中的进程数;
“58 sleeping”为当前处于等待状态中的进程数;
“0 stoped”为被停止的系统进程数;
“0 zombie”为被复原的进程数;
第三行(Cpus):
分别表示了 CPU 当前的使用率;
第四行(Mem):
分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;
第五行(Swap):
表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。
第二部分 -- 中间部分的内部命令提示栏:
Linux 查看性能top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:
-Linux 查看性能 改变画面更新频率
l - 关闭或开启第一部分第一行 top 信息的表示
t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)
P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)
M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)
h - 显示帮助
n - 设置在进程列表所显示进程的数量
q - 退出 top
s -
Linux 查看性能改变画面更新周期
第三部分 -- 最下部分的进程列表栏:
以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。Linux 查看性能通过 top 内部命令可以控制此处的显示方式。
前5行的统计信息如下:
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 191272k total, 173656k used, 17616k free, 22052k buffers
Swap: 192772k total, 12k used, 192772k free, 123988k cached
第一行是任务队列信息,同 uptime 命令的执行结果。
其内容如下:
01:06:48 当前时间 ;
up 1:22 系统运行时间,格式为时:分;
1 user 当前登录用户数;
load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二是进程信息,
内容如下:
Tasks: 29 total 进程总数;
1 running 正在运行的进程数;
28 sleeping 睡眠的进程数;
0 stopped 停止的进程数;
0 zombie 僵尸进程数。
第三行是CPU的信息
内容如下:
0.3% us 用户空间占用CPU百分比;
1.0% sy 内核空间占用CPU百分比;
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比;
98.7% id 空闲CPU百分比;
0.0% wa 等待输入输出的CPU时间百分比;
0.0% hi ;0.0% si ;
最后两行为内存信息。
内容如下:
Mem: 191272k total 物理内存总量;
173656k used 使用的物理内存总量;
17616k free 空闲内存总量;
22052k buffers 用作内核缓存的内存量;
Swap: 192772k total 交换区总量;
72k used 使用的交换区总量;
192700k free 空闲交换区总量;
123988k cached 缓冲的交换区总量;
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。
进程区信息:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd
14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top
1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
详细描述为:
PID 进程id;
USER 进程所有者的用户名;
PR 优先级;
NI,nice值。负值表示高优先级,正值表示低优先级;
VIRT 进程使用的虚拟内存总量,单位kb,VIRT=SWAP(SWAP 进程使用的虚拟内存中,被换出的大小,单位kb)+RES;
RES 进程使用的、未被换出的物理内存大小,单位kb,RES=CODE(CODE 可执行代码占用的物理内存大小,单位kb)+DATA(DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb);
SHR 共享内存大小,单位kb;%CPU 上次更新到目前的CPU时间占用百分比;S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程);
%MEM 进程使用的物理内存百分比;
TIME+ 进程使用的CPU时间总计,单位1/100秒;
COMMAND 命令名/命令行。
显示项设置:
按f键进入进程信息切换界面,选择相应的字母设置是否显示该项,默认前有*的为显示信息。
基本操作:
K为杀死进程;?或help为寻求帮助;i为忽略闲置和僵死进程;q为退出程序;r为设置优先级;s用于设置两次刷新的间隔时间。
glance的深入用法
1、安装Glance Pak(Glance Pak中包含的MeasureWare工具做性能分析)
判断是否安装过Glance Pak:看/var/opt/perf/gkey和mwakey两个License文件,建议把这两个文件备份,可以避免重装Glance时找不到Codeword无法安装的情况出现,直接安装试用版然后拷贝这两个原文件覆盖即可当正式版使用。另外,重装Glance Pak时,需停止midaemon进程,注意分别安装Glance与MeasureWare两个软件包时,需要版本一致,否则会出现软件coredump,用#perfstat –v 检查GlancePlus与Measureware版本是否一致;
2修改/var/opt/perf/parm文件内容(定义需要收集性能的应用进程名称):
application=application name (随便定义应用名字)
file=进程名(可用*等适配符)
例如:
application = informix
file = onstat
3、用#mwa status (所有命令文件存储在/opt/perf/bin中),查看MeasureWare状态;
4、用#mwa start启动MeasureWare收集制定进程性能数据的服务,查看产生的/var/opt/perf/datafiles/log*文件,是否每5~10秒更新一次,若是则可以放心,并提醒用户观察日志增长幅度,特别是对于某些空间紧张的主机;
5、一、二周后来取性能数据:
#mwa status
#mwa stop (停止MeasureWare收集服务)
6、用ftp的asc方式上传zamdata.txt脚本
#cd /var/opt/perf/datafiles/
#sh zamscript.txt (收集MeasureWare开始后所有的性能数据)
查看当前目录下产生的zamdata.csv
用ftp的bin方式下载zamdata.csv文件,然后用工具生成性能分析报告
Glance监控命令在HP UX上的使用
最近由于需要经常向客户写报告,所以研究了一下Glance,Glance监控工具是HP-UX系统中一个强大且易用的在线监控工具,它有两种版本,一种是gpm,图形模式,另一个就是glance,文本模式。几乎可以在任何终端和工作站上使用,占用资源很少。任何一个版本都可以提供丰富的系统性能信息。默认的进程列表会列出有关系统资源和活动进程的常规信息,更多详细信息包括:CPU, Memory, Disk IO, Network, NFS,
System Calls, Swap, and System Table。
语法:glance [-j interval] [-p [dest]] [-f dest] [-maxpages numpages]
[-command] [-nice nicevalue] [-nosort] [-lock]
[-adviser_off] [-adviser_only] [-bootup]
[-iterations count] [-syntax filename] [-all_trans]
[-all_instances] [-disks ] [-kernel ] [-nfs ]
[-pids ] [-no_fkeys]
选项说明:
-j interval 设置屏幕刷新的时间间隔,单位为秒,默认值为5秒,数值许可范围:1~32767
-p [dest] 这个选项可以启用连续打印,对于屏幕刷新间隔很长时的打印很有效,
输出会被定向到一个默认的本地打印机,除非需要输入设备参数。一旦
运行开始,可以用p命令终止该操作
-f dest 这个选项可以启用连续打印,对于屏幕刷新间隔很长时的打印很有效,
输出会被定向到一个给定的文件。一旦运行开始,可以用p命令终止该操
作
-maxpages numpages 当用-p命令,-maxpages选项可以改变打印的最大页数,默认的是200页
-command 这个选项是用来设置进程列表不同的屏幕显示,这个键值设置会显示不同
的信息,详细命令见下面的-command选项,仅有一个命令可以选择
-nice nicevalue 这个选项允许你调整glance进程的优先级别,默认值为-10
-nosort 这个选项设置后,屏幕不用将进程排序显示,这样可以减少Glance进
程的CPU开销
-lock 这个选项允许你将Glance锁入内存,这样可以大大提高响应时间,但有
可能会收到错误提示:"Unable to allocate memory/swap space",那样又必须取消此选项重新运行
-adviser_off 允许你关闭建议模式运行glance
-adviser_only 这个选项允许glace在终端无屏幕显示下运行,仅建议提示会运行,并将结果发送到标准输出。建议提示模式可以在后台运行,可以把结果重定向到一个文件,但必须要和-bootup选项联合使用
-bootup 和-adviser_only一块儿使用,启动时就开启建议模式
-iterations count 这个选项可以在Glance运行时限制间隔的数字,这个选项
和-adviser_only选项在无终端显示时联合使用。Glance执行给定次数后,迭代列入清单后退出
-syntax filename 应用这个选项启用自定义的建议文件
-all_trans 这个选项允许Glance列出系统中所有注册的任务。如果没有指明,glance仅仅列出经过滤得项
-all_instances 这个选项允许glance显示所有操作记录示例
-disks 监控磁盘
-kernel 监控系统kernel
-nfs 监控NFS使用
-pids 监控指定进程
以上四个命令选项值会直接传入Midaemon(惠普的性能监控接口守护进程)和调整Midaemon的启动参数,如果Midaemon已经在运行,那样这些选项设置将不被理睬
-no_fkeys 这个选项可以屏蔽操作屏幕显示的功能键.
-command选项列表
Command Screen Displayed / Description
a CPU By Processor
c CPU Report
d Disk Report
g Process List
i IO By File System
l Network By Interface
m Memory Report
n NFS By System
t System Tables Report
u IO By Disk
v IO By Logical Volume
w Swap Space
A Application List
B Global Waits
D DCE Global Activity
G Process Threads
H Alarm History
I Thread Resource
J Thread Wait
K DCE Process List
N NFS Global Activity
P PRM Group List
T Transaction Tracker
Y Global System Calls
Z Global Threads
? Commands菜单
glance运行时的键盘命令
S 选择 system/Disk/Application/Trans/Thread
s 选择查看进程
F 进程打开的文件
L 进程系统调用
M 进程内存
R 进程资源
W 进程等待状态
屏幕显示控制命令
b 下一页
f 前一页
h 在线帮助
j 调节屏幕刷新间隔
o 调整进程阈值
p 输出打印终止
e/q 退出glance
r 刷新当前屏幕
y 重新设置进程的nice值
z 将统计信息清零
> 显示下一屏幕
< 显示前一屏幕
! 调用一个shell
屏幕显示说明
在文本模式中使用glance,启动后,会出现下面的屏幕:
ProcList CPU Rpt Mem Rpt Disk Rpt NextKeys SlctProc Help Exit
B3692A GlancePlus C.03.71.00 14:08:08 hpdemo01 9000/800 Current Avg Hig
-------------------------------------------
CPU Util | 0% 0% 1
Disk Util F | 1% 1% 2
Mem Util S SUUB B | 22% 22% 22
Swap Util U UR | 7% 7% 7
--------------------------------------------------
PROCESS LIST Users= 2
User CPU Util Cum Disk Thd
Process Name PID PPID Pri Name ( 400% max) CPU IO Rate RSS Cnt
-------------------------------------------
vxfsd 37 0 138 root 0.0/ 0.0 0.0 3.3/ 3.1 1.8mb 22
首行显示有关glance自身的信息和运行它的系统。后面则显示有关CPU、磁盘、
内存和交换空间利用率的信息。下面分别介绍:
一. CPU利用率
显示CPU利用率的行以不同阴影的条形图开始。它被分为几部分来显示用于不同目的的CPU利用率。这个条形图的每一部分由一个字符开始并以字符结束,该字符显示了四种类型的信息
1. S部分显示了用于系统行为的CPU时间利用率的百分比
2. N部分显示了用于调整过的进程的CPU时间利用率。这些是运行在较低优先级上的进程
3. U部分显示了花费在用户进程上的时间的百分比
4. R部分显示了实时进程时间利用率的百分比
行的最右部分显示了从启动glance开始到当前、平均和最高CPU利用率的百分比
二. 磁盘利用率
磁盘利用率条形图有两个部分。和CPU利用率条形图类似,以下这些部分显示了对于不同行为的磁盘利用率百分比
1. F部分显示了文件系统行为。这是用于文件读或写操作的磁盘I/O利用率
2. V部分显示了虚拟内存行为。如果这部分很大,它表示系统的物理内存很紧张
在行的最右部分,显示了当前、平均和最高的磁盘利用率百分比
三. 内存利用率
在磁盘利用率条形图下面是内存利用率条形图。它分成三部分
1. S部分显示了用于系统进程的内存
2. U部分显示了用于用户程序的内存
3. B部分显示了用于缓冲存储器的内存
行的最右部分显示了当前、平均和最高的利用率,它和CPU及磁盘利用率有同样的含义
四. 交换利用率
交换空间的利用条形图分成两个部分
1. U部分显示了在使用的交换空间
2. R部分显示了预留的交换空间。一旦进程被创建,在交换区中就有一个区域被预留下来,一个预留区不被使用
五. 进程列表
屏幕下方是进程列表。这列没有列出所有的进程,只会显示那些正在使用系统资源的进程。各列分别是:
Process Name 创建进程的命令名
PID 进程ID
PPID 父进程的进程ID
Pri 进程的优先级。这是一个0到255的数字,数字越大,优先级越低
User Name 启动该进程的用户名
CPU Util 第一个数字是在上一个间隔时期内CPU的利用百分比。第二数是启动glance以来的CPU利用率百分比。缺省时,glance每5秒更新一次这个列表
Cum CPU 一个进程的累计CPU利用率
Disk IO Rate 第一个数字是上一个时间间隔的平均磁盘I/O速率。
二个数字glance启动后平均的磁盘I/O速率
RSS 一个进程使用的RAM总量
Thd Cnt 线程统计
HP-UNIX系统下,使用glance -M命令查看某个进程的内存使用情况:
Text RSS/VSS: 48kb/ 64kb Data RSS/VSS:215mb/332mb Stack RSS/VSS:676kb/2.1mb
Shmem RSS/VSS: 0kb/ 0kb Other RSS/VSS:1.2gb/1.4gb
RSS(resident set size):进程实际驻存在物理内存的部分的大小。因为一个进程执行不需要把整个进程都全部驻存到物理内存。
VSS(virtual set size) :一个进程的总的大小。只有当进程执行时,整个进程都驻存到物理内存时才RSS=VSS