top命令

作者: lvhaosir | 来源:发表于2020-09-17 00:14 被阅读0次

    问题

    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命令

          本文链接:https://www.haomeiwen.com/subject/xaukyktx.html