7

linux 利用 top 命令进行动态监控

 2 years ago
source link: https://xujinzh.github.io/2022/04/16/linux-top-monitor/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Linux 系统在运行中可能会出现各种情况,如内存占用过多、cpu 占用过大等,这些都会影响 Linux 系统的运行,导致用户体验降低,如何查看、监控 Linux 系统中的程序运行情况,并停止内存占用多、cpu 占用大的进程。本篇介绍 top 命令(类似于 Windows 中的任务管理器),实现此目的。

top 命令介绍

简单的在命令后输入 top 命令查看当前系统进程情况。

top - 15:32:30 up 4 days, 58 min,  2 users,  load average: 1.15, 1.28, 1.31
Tasks: 959 total, 3 running, 611 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.4 us, 0.1 sy, 0.3 ni, 97.8 id, 0.4 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 97398976 total, 81255760 free, 3827788 used, 12315424 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 92583264 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

各参数解释如下:

  1. 15:32:30 表示当前时间;
  2. up 4 days, 58 min 表示系统运行时长;
  3. 2 users 表示当前系统有2个用户在使用;
  4. load average: 1.15, 1.28, 1.31 表示负载均衡,3个值分别表示1分钟、5分钟、15分钟前到现在的平均负载值。值越大表示系统运行压力越大;
  5. Tasks 表示系统运行的任务数,分别表示总任务(进程)、正在运行、睡眠、停止、僵尸数;
  6. %Cpu(s) 表示 cpu 运行情况,分别表示用户使用 cpu、系统使用 cpu、用户进程空间内改变过优先级的进程、空闲、等待输入输出、硬件 cpu 中断、软件 cpu 中断、虚拟机占有 cpu 百分比;
  7. KiB Mem 表示内存情况,分别表示总物理内存、空闲的、使用的、缓存的内存量;
  8. KiB Swap 表示虚拟内存情况,分别表示交换内存总量、空闲的、使用的、缓冲的交换内存量;
  9. PID 表示进程 id;
  10. USER 表示进程所有者;
  11. PR 表示进程优先级;
  12. NI 表示nice值。负值表示高优先级,正值表示低优先级;
  13. VIRT 表示进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES;
  14. RES 表示进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA;
  15. SHR 表示共享内存大小,单位kb;
  16. S 表示进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程;
  17. %CPU 表示上次更新到现在的CPU时间占用百分比;
  18. %MEM 表示进程使用的物数理内存百分比;
  19. TIME+ 表示进程使用的CPU时间总计,单位1/100秒;
  20. COMMAND 表示进程名称(命令名/命令行)。

top 命令使用

# 每 1 秒刷新一次;默认是 3 秒
top -d 1

进入之后,可以使用如下参数有针对性的显示

  • P:以 cpu 使用率排序,默认以此排序;
  • M:以内存使用率排序;
  • N:以 PID 大小排序,从大到小;
  • q: 退出;
  • u:指定用户,需输入用户名;
  • k: 杀掉进程,需输入进程 PID,然后输入信号,如 9,即强制杀掉(kill -9 pid)

如果输入错误可按 esc 健返回。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK