Linux 的 top命令参数详解 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

Linux 的 top命令详解

这张图是真实的阿里云云服务器上,使用了top命令之后的信息。

1.上半部分显示了整体系统负载情况

1.1 top 第一行:

从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值

比如我这张图中

  • 15:35:44 ====> 当前系统时间是 15:35:44
  • 126 days, 14:29 ====> 系统运行时间为145天10小时45分钟(在此期间没有重启过)
  • 1 user ===> 当前有1个用户登录系统
  • load average: 2.56, 2.47, 3.26 ===> 系统在之前1min、5min、15min之内CPU的平均负载值为2.56 2.47 3.26

1.2 Tasks一行:

该行给出进程整体的统计信息,包括统计周期内进程总数、运行状态进程数、休眠状态进程数、停止状态进程数和僵尸状态进程数

比如我这张图中

  • 统计周期内进程总数 ====> 98
  • 运行状态进程数 ====> 5
  • 休眠状态进程数 ====> 92
  • 停止状态进程数 ====> 0
  • 僵尸状态进程数 ====> 1

这里顺带普及一下杀掉僵尸进程 可以参考我的这篇文章:

1.3 Cpu(s)一行:

cpu整体统计信息,包括用户态下进程、系统态下进程占用cpu时间比,nice值大于0的进程在用户态下占用cpu时间比,cpu处于idle状态、wait状态的时间比,以及处理硬中断、软中断的时间比

比如我这张图中

  • 76.9%us, 23.1%sy, 这个为用户空间和内核空间所占cpu百分比

    • 用户态下进程占用cpu时间比 ====> 76.9%
    • 内核态下进程占用cpu时间比 ====> 23.1%
  • 0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比

  • 0.0 id 空闲CPU百分比

  • 0.0 wa 等待输入输出的CPU时间百分比

  • 0.0 hi 硬中断(Hardware IRQ)占用CPU的百分比

  • 0.0 si 软中断(Software Interrupts)占用CPU的百分比

1.4 Mem一行:

该行提供了内存统计信息,包括物理内存总量、已用内存、空闲内存以及用作缓冲区的内存量

比如我第一张图中 1881952 total, 72736 free, 13127996 used, 496420 buffer/cache

  • 1881952 total 物理内存总量
  • 72736 free 空间内存总量
  • 13127996 used 已用内存总量
  • 496420 buffer/cache 用作缓冲区的内存量

1.5 Swap一行

虚存统计信息,包括交换空间总量、已用交换区大小、空闲交换区大小以及用作缓存的交换空间大小

Swap: 0 total, 0 free, 0 used, 405996 avail Mem

这行为交换分区使用情况,和上面内存的解释基本一致

  • 0 total, 交换分区物理内存总量
  • 0 free, 交换分区空间内存总量
  • 0 used, 交换分区已用内存总量
  • 405996 avail Mem 交换分区用作缓冲区的内存量

2. 下半部分表头

PID   USER  PR NI   VIRT  RES  SHR   S  %CPU  %MEM   TIME+ COMMAND
  • PID 进程号
  • USER 用户名
  • PR 优先级(priority )
  • NI nice值。负值表示高优先级,正值表示低优先级m
  • VIRT 进程使用的虚拟内存总量
  • RES 进程使用的、未被换出的物理内存大小,单位kb
  • SHR 共享内存大小,单位kb
  • S 进程状态。
  • D=不可中断的睡眠状态
  • R=运行
  • S=睡眠
  • T=跟踪/停止
  • Z=僵尸进程
  • %CPU CPU使用率
  • %MEM 进程使用的物理内存百分比
  • TIME+ 进程使用的CPU时间总计,单位1/100秒
  • COMMAND 执行的命令

top常用总结:

  • top 默认每隔5秒显式所有进程的资源占用情况
  • top -d 10 每隔10秒显式所有进程的资源占用情况
  • top -c 每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
  • top -p 2088 -p 3088 每隔5秒显示pid是2088和pid是3088的两个进程的资源占用情况
  • top -d 2 -c -p 3008 每隔2秒显示pid是3008的进程的资源使用情况,并显式该进程启动的命令行参数

Guess you like

Origin blog.csdn.net/qq_41688840/article/details/112623134