一.top命令简介
top命令是Linux系统中常用的性能分析工具,可以实时的查看系统的运行情况,比如内存、CPU、负载以及各个进程的资源占用情况。

二.top命令内容详解
1.第一行(任务队列信息)
top - 21:50:11 up 1 day, 23:37, 1 user, load average: 0.00, 0.01, 0.05
| 21:50:11 | 系统当前时间 |
| up 1 day, 23:37 | 系统运行时间为1天23小时37分钟 |
| 1 user | 当前用户数 |
| load average: 0.00, 0.01, 0.05 | CPU负载,三个数值分别是1分钟,5分钟,15分钟的cpu负载平均值 |
2.第二行(进程信息汇总)
185 total, 1 running, 184 sleeping, 0 stopped, 0 zombie
| 185 total | 进程总数 |
| 1 running | 正在运行的进程数 |
| 184 sleeping | 睡眠的进程数 |
| 0 stopped | 停止的进程数 |
| 0 zombie | 僵尸进程数 |
3.第三行(cpu使用率)
0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
| 0.3 us | 用户空间占用CPU百分比 |
| 0.0 sy | 内核空间占用CPU百分比 |
| 0.0 ni | 用户进程空间内改变过的优先级的进程占用的CPU百分比 |
| 99.7 id | 空闲CPU百分比 |
| 0.0 wa | 等待输入输出吃的CPU时间百分比 |
| 0.0 hi | hardware IRQ,硬中断占用CPU时间百分比 |
| 0.0 si | software IRQ,软中断占用CPU时间百分比 |
| 0.0 st | steal time 丢失时间 |
4.第四、五行(显示内存占用情况)
KiB Mem : 16266508 total, 14945160 free, 854088 used, 467260 buff/cache
KiB Swap: 8257532 total, 8257532 free, 0 used. 15065044 avail Mem
| 16266508 total | 物理内存总量 |
| 14945160 free | 空闲内存总量 |
| 854088 used | 使用的物理内存总量 |
| 467260 buff/cache | 用作内核缓存的内存量 |
| 8257532 total | 交换区总量 |
| 8257532 free | 空闲的交换区总量 |
| 0 used | 使用的交换区总量 |
| 15065044 avail Mem | 缓冲的交换区总量 |
5.第六行(进程详细信息)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
| 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秒 |
| COMMADN | 启动进程对应的命令 |
三.常用的参数
| h或者? | 显示帮助画面,使用手册 |
| k | 杀掉一个进程 |
| q | 退出程序 |
| c | 显示命令的名称和完整命令行 |
| M | 根据内存的大小及逆行排序 |
| P | 根据cpu使用百分比大小进行排序 |
| T | 根据时间累计进行排序 |
| u | 显示相应的用户进程 |
| d | 指定top刷新的时间间隔 |
| p | 查看某个单独进程 |
1.top命令下输入h或者?--显示帮助画面,使用手册
2.top命令下输入q --退出程序
3.top命令下输入k --杀掉一个进程(指定进程号)
4.top命令下输入c --显示命令的完整名称喝完整命令行

5.top命令下输入M --根据内存的大小进行排序
6.top命令下输入P --根据cpu使用百分比大小进行排序

7.top命令下输入T --根据时间累计进行排序

8.top命令下输入u --显示相应用户的进程

9.top命令下输入d --指定刷新时间间隔
10.查看某个单独进程 top -p 进程id
四.VIRT、RES、SHR含义
VIRT:
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等;
2、假如进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量。
RES:
1、进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap out量;
2、包含其他进程的共享;
3、如果申请10MB的内存,实际使用1MB,它只增长1MB
SHR:
1、进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap out量;
2、包含其他进程的共享;
3、如果申请10MB的内存,实际使用1MB,它只增长1MB
top命令是Linux系统中的重要工具,用于实时监控系统性能,包括CPU、内存使用情况和进程状态。文章详细解释了top命令显示的任务队列信息、进程信息、CPU使用率、内存占用以及进程详细信息,并介绍了常用参数如k、q、M、P等的用途。此外,还解析了VIRT、RES和SHR等内存指标的含义。
2208

被折叠的 条评论
为什么被折叠?



