Top命令
作用:top命令用来显示执行中的程序进程,是linux下常用的性能分析工具,能够实时显示各个进程的资源占用情况。
格式:
usage: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
详解
统计区域:
top - 14:11:26 up 39 days, 22:46, 2 users, load average: 12.00, 12.10, 12.07 Tasks: 86 total, 13 running, 73 sleeping, 0 stopped, 0 zombie Cpu(s): 80.6%us, 19.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1026932k total, 925872k used, 101060k free, 186308k buffers Swap: 2104504k total, 0k used, 2104504k free, 591456k cached |
top - 14:11:26 up 39 days, 22:46
当前的时间、系统运行时间
2 users
当前登录用户数
load average: 12.00, 12.10, 12.07
系统负载,即任务队列的平均长度,三个数值分别为1、5、15分钟前到现在的平均值
Tasks: 86 total, 13 running, 73 sleeping, 0 stopped, 0 zombie
总共进程数为86,13个正在运行的进程,73个睡眠的进程,0个停止的进程,0个僵尸进程数
Cpu(s): 80.6%us, 19.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu 用户空间占用cpu80.6百分比,内核空间占用19.4百分比,用户进程空间内改变过优先级的进程占用0百分比,空闲CPU占0百分比,IO等待占用cpu百分比,硬中断(Hardware IRQ)占用CPU0百分比,软中断(software interrupts)占用cpu0百分比,
注意:
名词解释:
用户空间and内核空间
Linux的虚拟地址空间为0~4G,linux内核将这4G字节的空间分为两部分,
将最高1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称内核空间
将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程用,称为用户空间。
Mem: 1026932k total, 925872k used, 101060k free, 186308k buffers
内存状态 物理内存总量1G,使用中的内存925M,空闲内存101M,缓存的内存186M
Swap: 2104504k total, 0k used, 2104504k free, 591456k cached
计算内存:
Free+buffers+cached=可用内存
交换分区 交换区总量为2G 使用的交行分区总量为0 空闲的交换分区为2G 缓冲的交换分区总量为591M
注:
对内存的监控,在top里要时刻监控swap交换分区的used,如果这个数值再不断变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
进程区域
PID 进程ID
USER 进程所有者
PR 进程优先级
NI nice值,负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。 VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位KB,RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D不可中断的睡眠状态 R运行 S睡眠 T跟踪、停止 Z僵尸进程
CPU 上次更新到现在的CPU时间占用百分比
MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 进程名称(命令名/命令行)
使用快捷键显示参数
f:
更改显示的内容。需要显示那个参数就选择相应的字母,按回车确定
o
可以改变列的显示顺序。按小写的a-z可以将相应的列向右移,而大写的A-Z可以将相应的列向左一定,然后按回车确定
d:
指定每次屏幕刷新之间的时间间隔,单位秒
i:
不显示任何闲置或者僵死的程序
k:
终止一个进程
l:
显示平均负载和启动时间信息
m:
切换显示内存信息
t:
切换显示进程和cpu状态信息
c:
显示命令名称和完整命令行
M:
根据驻留内存大小进行排序
P:
根据CPU使用率进行排序
T:
根据时间累计时间进行排序