linux 利用 top 命令进行动态监控
Linux 系统在运行中可能会出现各种情况,如内存占用过多、cpu 占用过大等,这些都会影响 Linux 系统的运行,导致用户体验降低,如何查看、监控 Linux 系统中的程序运行情况,并停止内存占用多、cpu 占用大的进程。本篇介绍 top 命令(类似于 Windows 中的任务管理器),实现此目的。
top 命令介绍
简单的在命令后输入 top
命令查看当前系统进程情况。
1 | top - 15:32:30 up 4 days, 58 min, 2 users, load average: 1.15, 1.28, 1.31 |
各参数解释如下:
- 15:32:30 表示当前时间;
- up 4 days, 58 min 表示系统运行时长;
- 2 users 表示当前系统有2个用户在使用;
- load average: 1.15, 1.28, 1.31 表示负载均衡,3个值分别表示1分钟、5分钟、15分钟前到现在的平均负载值。值越大表示系统运行压力越大;
- Tasks 表示系统运行的任务数,分别表示总任务(进程)、正在运行、睡眠、停止、僵尸数;
- %Cpu(s) 表示 cpu 运行情况,分别表示用户使用 cpu、系统使用 cpu、用户进程空间内改变过优先级的进程、空闲、等待输入输出、硬件 cpu 中断、软件 cpu 中断、虚拟机占有 cpu 百分比;
- KiB Mem 表示内存情况,分别表示总物理内存、空闲的、使用的、缓存的内存量;
- KiB 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 表示进程名称(命令名/命令行)。
top 命令使用
1 | # 每 1 秒刷新一次;默认是 3 秒 |
进入之后,可以使用如下参数有针对性的显示
- P:以 cpu 使用率排序,默认以此排序;
- M:以内存使用率排序;
- N:以 PID 大小排序,从大到小;
- q: 退出;
- u:指定用户,需输入用户名;
- k: 杀掉进程,需输入进程 PID,然后输入信号,如 9,即强制杀掉(kill -9 pid)
如果输入错误可按 esc 健返回。
参考文献
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J. Xu!
评论