top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。
用法:top option
option:
-a 按照进程占用内存大小进行排序
-b 后台模式运行,可以将结果输出到指定文件
-c 显示进程启动完整路径
-d 延迟刷新秒数
-m 使用used代替virt,即实际使用内存=res+swap,如果没有使用到swap,那么used=res
-M 将大于1024KB的内存项使用M来代替
-n 刷新几次
-p 指定进程号
-u 指定用户的进程
-U 指定用户的进程,个人未能区分开与-u的区别
-s 以安全模式运行top命令
示例1 将进程按照内存大小进行排序,显示具体命令行内容,使用used代替virt,大于1024KB的mem使用单位为M,采集5次记录,每次记录延迟5秒,将内容输出到out.log中
top -a -b -c -d 5 -m -M -n 5 >out.log
示例2 将指定用户的进程显示
top -umysql
示例3 将进程号26531和23744显示
top -p26531 -p23744
字段说明
top - 16:39:31 up 1 day, 2:38, 2 users, load average: 0.00, 0.02, 0.00
16:39:31 up 1 day 主机运行时间
2 users 当前登录用户数
load average: 0.00, 0.02, 0.00 系统负载,1分钟,5分钟,15分钟的平均队列长度,大于3说明负载很高
Tasks: 98 total, 2 running, 96 sleeping, 0 stopped, 0 zombie
98 total 进程总数
2 running 正在运行的进程
96 sleeping 睡眠进程
0 stopped 停止的进程
0 zombie 僵尸进程
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 97.7%id, 2.0%wa, 0.0%hi, 0.0%si, 0.0%st
0.0% us 用户空间占用CPU百分比
0.3% sy 内核空间占用CPU百分比,大于3%需要关注
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
97.7% id 空闲CPU百分比
2.0% wa 等待io输入输出的CPU时间百分比
0.0% hi 硬件中断百分比
0.0% si 软件中断百分比
Mem: 1020288k total, 729784k used, 290504k free, 56960k buffers
Mem: 1020288k total 物理内存总量
729784k used 使用的物理内存总量
290504k free 空闲内存总量
56960k buffers 用作内核缓存的内存量
Swap: 2064380k total, 120k used, 2064260k free, 544944k cached
Swap: 2064380k total 交换区总量
120k used 使用的交换区总量
2064260k free 空闲交换区总量
544944k cached 缓冲的交换区总量。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2401 postfix 20 0 81408 3816 2904 S 2.0 0.4 0:00.02 pickup 1 root 20 0 19232 1340 1128 S 0.0 0.1 0:00.57 init
PID:进程号
USER:用户
PR:进程优先级
NI:负值表示高优先级,正值表示低优先级,一般NI=PR-20
VIRT:分配的内存
RES:实际占用的物理内存
SHR:共享内存
S:进程的状态,分别有D(不间断睡眠),R(正在运行),S(SLEEP),T(TRACE或者STOPED),Z(僵尸)
%CPU:CPU占用率
%M:物理内存占用率
TIME+:进程启动时间
COMMAND:进程对应的命令,使用-c参数可看到完整命令
原文:http://gaoquan.blog.51cto.com/4503718/1739663