top 命令是Linux下常用的性能分析工具,能够时时显示系统中的各个进程的资源占用的情况,类似于windows的任务
管理器。
下面介绍一下top各个参数的含义
""" top - 23:47:06 up 41 days, 23:47, 3 users, load average: 4.72, 4.40, 3.01 Tasks: 143 total, 7 running, 136 sleeping, 0 stopped, 0 zombie Cpu0 : 84.8%us, 9.1%sy, 0.0%ni, 1.3%id, 4.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 84.7%us, 8.5%sy, 0.0%ni, 1.7%id, 5.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 71.8%us, 10.7%sy, 0.0%ni, 10.0%id, 7.2%wa, 0.0%hi, 0.3%si, 0.0%st Cpu3 : 81.5%us, 11.1%sy, 0.0%ni, 2.3%id, 5.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2052800k total, 1918740k used, 134060k free, 72896k buffers Swap: 4022268k total, 15308k used, 4006960k free, 1330080k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 14234 root 20 0 104m 92m 9496 R 27 4.6 0:00.81 cc1 14262 root 20 0 85244 71m 9808 R 15 3.6 0:00.46 cc1 14273 root 20 0 0 0 0 R 13 0.0 0:00.39 cc1 14284 root 20 0 77800 64m 9680 S 11 3.2 0:00.32 cc1 14191 root 20 0 14400 6480 1852 S 5 0.3 0:00.16 make 14091 root 20 0 12852 4848 1796 S 2 0.2 0:00.07 make 491 root 0 -20 0 0 0 S 2 0.0 0:55.15 kworker/1:1H 14236 root 20 0 16100 9536 2684 R 1 0.5 0:00.04 as 501 root 0 -20 0 0 0 S 1 0.0 0:52.30 kworker/3:1H 517 root 0 -20 0 0 0 S 1 0.0 0:55.85 kworker/0:1H 10617 root 20 0 24236 15m 1796 S 1 0.8 0:00.76 make 14274 root 20 0 13988 7500 2756 R 1 0.4 0:00.02 as 14285 root 20 0 13856 7204 2728 R 1 0.4 0:00.02 as 7 root 20 0 0 0 0 S 0 0.0 10:22.21 rcu_sched 23 root 20 0 0 0 0 S 0 0.0 1:04.01 ksoftirqd/3 """ """ 统计信息前五行 23:47:06 当前系统时间 up 41 days, 23:47 系统运行时间 3 users 当前登录用户数 load average: 4.72, 4.40, 3.01 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 total 进程总数 running 正在运行的进程数 sleeping 睡眠的进程数 stopped 停止的进程数 zombie 僵尸进程数 CPU占用百分比 Cpu0 : 84.8%us, 9.1%sy, 0.0%ni, 1.3%id, 4.7%wa, 0.0%hi, 0.0%si, 0.0%st 用户空间 内核空间 用户进程空间 空闲 输入输出 硬件中断 软件中断 虚拟机 改变过优先级 的进程占用cpu 百分比 Mem: 2052800k total, 1918740k used, 134060k free, 72896k buffers 物理总内存 使用内存 空闲内存 用于内核缓存内存 Swap: 4022268k total, 15308k used, 4006960k free, 1330080k cached 交换区总量 使用交换区总量 空闲总量 缓冲的交换区总量, 内存中的内容被换出到交换区, 而后又被换入到内存, 但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存 中的交换区的大小,相应的内存再次 被换出时可不必再对交换区写入 序号 列名 含义 a PID 进程id b PPID 父进程id c RUSER Real user name d UID 进程所有者的用户id e USER 进程所有者的用户名 f GROUP 进程所有者的组名 g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ? h PR 优先级 i NI nice值。负值表示高优先级,正值表示低优先级 j P 最后使用的CPU,仅在多CPU环境下有意义 k %CPU 上次更新到现在的CPU时间占用百分比 l TIME 进程使用的CPU时间总计,单位秒 m TIME+ 进程使用的CPU时间总计,单位1/100秒 n %MEM 进程使用的物理内存百分比 o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。 q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA r CODE 可执行代码占用的物理内存大小,单位kb s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb t SHR 共享内存大小,单位kb u nFLT 页面错误次数 v nDRT 最后一次写入到现在,被修改过的页面数。 w S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) x COMMAND 命令名/命令行 y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名 z Flags 任务标志,参考 sched.h """