top是Linux下常用的性能分析工具,能实时显示系统中各进程的资源占用情况,包括CPU、内存等,具体如下图所示:
第1行即top行:
17:48:01: 当前系统时间。
up 75 days, 6:46: 系统已经运行了75天6小时46分(这段时间内未重启过)
4 users: 当前有2个用户登录系统
load average: 0.94, 0.87, 0.85: 系统负载,即任务队列的平均长度,3个值分别表示1分钟、5分钟、15分钟前到现在的平均值,刷新时间为5秒,如果这个值除以逻辑CPU数量后的结果大于5表明系统在超负荷运转了。
第2行即Tasks任务进程行:
176 total: 系统共有进程数
2 running: 2个进程处于运行中
174 sleeping: 174个进程处于休眠中(sleep)
0 stopped: 0个进程处于stoped状态
0 zombie: 0个进程处于zombie状态(僵尸)
第3行即Cpu(s)状态行:
1.8%us: 用户空间占用CPU的百分比
1.6%sy: 内核空间
占用CPU的百分比
0.0%ni: 改变过优先级的进程
占用CPU的百分比
96.4%id: 空闲CPU百分比
0.1%wa: IO等待
占用CPU的百分比
0.0%hi: 硬中断(Hardware IRQ)
占用CPU的百分比
0.0%si: 软中断(Software Interrupts)
占用CPU的百分比
第4行即Mem内存状态行:
3915408k total: 总物理内存大小
3722368k used: 已用内存大小
193040k free: 空闲内存大小
32116k buffers: 用作内核缓存的内存大小
第5行即Swap交换分区行:
8388600k total: 总交换区大小
11560k used: 已用交换区大小
8377040k free: 空闲交换区大小
2020696k cached:缓冲的总交换区大小
需要注意的是:如果第5行的used数值在不断变化中,说明内核在不断进行内存和swap的数据交换,内存不够用了。
白色高亮行表示各进程实时状态监控列表中每个字段的含义:
PID:进程ID
USER:进程所有者
PR:进程优先级
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位为K,VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位为K,RES=CODE+DATA
SHR:共享内存大小,单位为K
S:进程状态,D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位为1/100秒
COMMAND:进程名称(命令名/命令行)
top还能用于动态查看一个进车的内存使用情况,比如:
#top -d 1 -p pid [, pid ...] //设置为delay 1s,默认是delay 3s
如果希望根据内存使用量来进行排序,可以shift+m(Sort by memory usage)
top第一行的信息其实还可以通过一个更简洁的命令来获取:uptime
一般来说只要每个CPU的当前活动进程数不大于3,那么系统的性能就是良好的,如果每个COU的任务数大于5,那么就表示这台机器的性能有严重问题。
阅读(2794) | 评论(1) | 转发(0) |