top命令

问题

Liunx的top命令如何使用? top命令中的VIRT是什么意思? top命令中的RES是什么意思? top面板应该如何来看?

top 命令

1

字段含义

根据 top 面板上显示的内容由上往下来看。

系统运行时间和平均负载

top - 14:49:00 up 157 days, 4:00, 2 users, load average: 0.00, 0.02, 0.05

  • 当前时间;(14:49:00)
  • 系统已运行天数和时间;(up 157 days, 4:00,)
  • 当前登录的用户的数量;(2 users)
  • 最近 5、 10 、15 分钟内的平均负载;(load average: 0.00, 0.02, 0.05)

load average 数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。 如果这个数除以逻辑CPU的数量,结果高于 5 的时候就表明系统在超负荷运转了。

任务

Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie

  • 进程总数;(150 total)
  • 处于运行中的进程数;(1 running)
  • 处于休眠中的进程数;(149 sleeping)
  • 处于Stop中的进程数;(0 stopped)
  • 处于Zombie的进程数;(0 zombie)

CPU状态

%Cpu(s): 0.1 us, 0.0 sy, 0.0 ni, 99.7 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st

不同模式下所占 CPU 时间百分比:

  • 运行(未调整优先级的)用户进程的CPU时间;(us)
  • 运行内核进程的CPU时间;(sy)
  • 运行已调整优先级的用户进程的CPU时间;(ni)
  • 用于等待IO完成的CPU时间;(wa)
  • 处理硬件中断的CPU时间;(hi)
  • 处理软件中断的CPU时间;(si)
  • hypervisor消耗的CPU时间;(st)

这里 CPU 的使用比率和 Windows 概念不同,需要理解用户空间和内核空间,充充电!

内存使用

KiB Mem : 16265628 total, 942008 free, 7620156 used, 7703464 buff/cache

物理内存使用

  • 全部可用内存;(16265628 total)
  • 空闲内存;(942008 free)
  • 已使用内存;(7620156 used)
  • 缓冲区和缓存之和的内存;(7703464 buff/cache)

KiB Swap: 0 total, 0 free, 0 used. 8306592 avail Mem

虚拟内存使用(交换空间)

  • 交换区总量;(0 total)
  • 空闲交换区总量;(0 free)
  • 使用的交换区总量;(0 used)
  • 可以测量可以分配和使用的内存量,而不会导致更多的交换;(8306592 avail Mem)

不能用 Windows 的内存概念理解这些数据; 例:KiB Mem 中的 used (已使用内存)指的是现在系统内核控制的内存数,free(空闲内存总量)是内核还未纳入其管控的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交换到 free 中去,因此在 liunx 上 free 内存会越来越少,但不用为此担心。 出于习惯去计算可用内存数,有一个近视计算公式:free + buff/cached = 可用内存

内存显示方式可以按 'm' 进行切换

99
98
97

各进程(任务)的状态监控

2
  • 进程ID;(PID)
  • 进程所有者用户名;(USER)
  • 进程调度优先级,RT 以为进程运行在实时态;(PR)
  • 进程的Nice值,也就是优先级,值越小代表优先级越高;(NI)
  • 进程使用的虚拟内存;(VIRT)
  • 进程使用的、未被换出的物理内存大小;(RES)
  • 进程使用的共享内存;(SHR)
  • 进程的状态;(S) D-不可中断的睡眠态;R-运行态;S-睡眠态;T-被跟踪或已停止;Z-僵尸态;
  • 进程从上次更新到现在所使用的CPU时间百分比;(%CPU)
  • 进程使用的可用物理内存百分比;(%MEM)
  • 进程启动后到现在所使用的全部CPU时间;(TIME+)
  • 进程所使用的命令,进程名称;(COMMAND)

交互命令

‘h’ 帮助

可以用 'h' 或者 '?' 显示交互命令的帮助菜单

3

'e' 调整数据显示

默认 top 是以 KB 方式展示,按 'e' 可以调整为 mb 或 gb

4

'E' 调整数据显示

默认 top 是以 KB 方式展示,按 'E' 可以调整为 mb 或 gb

5

‘ENTER’ 或 ‘SPACE’ 刷新显示

top命令默认在一个特定间隔(3s)后刷新显示,或者用户手动刷新。

‘X’ 打开/关闭排序列的加亮效果

top 默认的排序列是 %CPU

6

'shift + >' 或 'shift + <' 向左或向右改变排序列

现在改为 %MEM 来排序

多核CPU监控

在 top 视图中,按数字 1 ,可监控每个逻辑 CPU 的状况。

7

调节出top命令默认没有显示的字段

在 top 命令页面下,按 f ,出现如下图的字段调节页面,上面有 * 标识的代表为显示的字段。

8

例如我们现在要将 DATA 标为显示列:

  1. 选中 DATA 按下空格,则代表需要显示,可以看到 DATA 也带 * 了;
9
  1. 按下 → 锁定 DATA,此时可以将 DATA 进行移动,我们需要把 DATA 移动到 COMMAND 以上才会显示到 top 面板;
10
11.jpeg
12

3.此时退出,按下 esc,在面板即可看到 DATA;

13

欢迎大家交流沟通。我的博客

你可能感兴趣的:(top命令)