Linux top命令使用详解

Linux top命令使用详解

已使用linux系统很长时间,查看整体性能时,经常使用top命令,现将日常运维过程中top命令常见用法汇总整理,以便学习和参考。
本文汇总整理网络资料和自我总结。只用于学习和交流。如涉及版权,可联系博主删除。

top命令介绍

top 显示说明

Linux top命令使用详解_第1张图片top命令整体说明:
整个 top 画面主要分成三个区

概要区 (Summary Area) - 显示整个系统的资讯
讯息/提示列 (Message/Prompt Line) - 显示各命令的结果讯息或让使用者输入命令的参数,平常为一列空行。
任务区 (Task Area) - 显示各任务/进程[1]的资料

  • 1.1. 概要区:
    第一列显示现时时间、系统运作时间 (up time)、使用者数目 (users) 和平均负载 (load average)。
    top - 09:28:15 up 59 days, 16:24, 12 users, load average: 0.61, 0.34, 0.22
    平均负载的三个数值分别为在平均过去 1 分钟、5 分钟和 15 分钟在可运行或不可中断状态的进程数目。平均负载为 1.0 表示一个 CPU 被佔用所有时间。
    第二列显示任务资讯,包括任务总数、运行中 (running)、睡眠中 (sleeping)、停止了 (stopped) 和不能运作 (zombie) 的进程数目。可以按 t 键切换是否和下一列 CPU 状态列一同显示。
    Tasks: 214 total, 1 running, 213 sleeping, 0 stopped, 0 zombie
    第三列显示 CPU 状态, Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    us (user): 使用者空间 (user space) 佔用 CPU 百分比
    sy (system): 核心空间 (kernel space) 佔用 CPU 百分比
    ni (nice): nice 值比一般值 0 大 (优先序较低) 的进程佔用 CPU 百分比
    id (idle): CPU 閒置时间百分比
    wa (iowait): CPU 等待输入/输出的百分比
    hi (H/W Interrupt): CPU 处理硬件中断时间的百分比
    si (S/W Interrupt): CPU 处理软件中断时间的百分比
    st: (Steal): 在如 Xen 等虚拟环境下 CPU 处理其他作业系统时间的百分比
    第四列显示内存和置换空间 (swap space) 使用率,可以按 m 键切换是否显示
    Mem: 16438672k total, 4823500k used, 11615172k free, 352320k buffers
    第五列显示置换空间 (swap space) 使用
    Swap: 8388600k total, 1196128k used, 7192472k free, 3487268k cached

  • 1.2. 任务区
    PR (priority) - 进程的优选值,数值越小表示进程的优先序越高。
    NI (nice) - 进程的 nice 值,会影响进程的优选值 (priority),可以为 20 至 -19 任何一个整数,数值越小会令进程的优先序越高。
    VIRT (Virtual memory) - 进程使用的总虚拟内存 (virtual memory) 大小,包括进程的程序码、资料和共享程序库再加上被置换 (swap out) 的空间,单位为 KiB。VIRT = SWAP + RES.
    RES (Resident size) - 进程非被置换的实体内存大小,单位为 KiB。RES = CODE + DATA
    SHR (Shared Mem size) - 进程使用的共享内存大小,即可以和其他进程共享的内存空间,单位为 KiB。
    S (Stats) - 进程的状态,可以为:
    D (uninterruptible sleep) - 在不可中断的休眠中 (一般为正在进行输入/输出)
    R (running) - 在运行中或可以被运行 (即在运行序列 run queue)
    S (sleeping) - 在可以被中断的休眠中 (一般是正在等待某事件完结)
    T (traced or stopped) - 已被停止。因工作控制讯号 (job control signal) 或进程在被追踪中。
    Z (Zombie) - 不能运作的进程,即所谓 zombie 进程。一般因为已终止但未能被其母进程成功接收的进程。
    %CPU (CPU usage)- 由上次 top 画面更新资料后进程的 CPU 使用率。为进程佔用的 CPU 时间除以实际时间 (CPU 时间 / 实际时间),以百分比显示。显示小数点后一个位。
    %MEM (Memory usage) - 进程佔用实体内存大小对系统总实体内存大小的比例,以百分比显示。
    TIME+ (CPU Time)- 由进程被启动至今的总 CPU 时间。可以按 S 键切换是否开启累计模式 (Cumulative mode) 改变此栏显示的数值。
    COMMAND (Command line or Program name) - 启动进程的命令,可以按 c 键切换只显示程序名称或整个连参数的命令行。

top命令模式的命令行操作说明

  • 常用的 top 命令
    ? 或 h - 显示说明画面。
    q - 离开 top。
    【Space】或【Enter】 - 更新并重新绘划整个画面。
    d 或 s - 改变画面更新时间。
    z - 切换单色或彩色显示模式。
    B - 切换是否以粗体强调重要资料。
    c - 切换进程命令栏只显示命令本身还是连参数显示整个命令。
    f - 改变会显示的进程资料栏目。
    o - 改变显示进程的排序方法。
    M - 进程依内存使用率 (%MEM) 由大至小排列。
    N - 进程依 PID 由大至小排序。
    P - 进程依 CPU 使用率 (%CPU) 由大至小排列,缺省一般使用此方法排列。
    T - 进程依总 CPU 时间 (TIME+) 由大至小排列。
    I - 在 Solaris 和 Irix 模式切换,改变 CPU 使用率的计算方法。缺省一般为 Irix 模式,
    u - 监察有效 UID (effective UID) 为个别使用者的进程。
    U - 监察个真正/有效 UID 为别使用者的进程。
    i - 切换只显示活跃进程 (不显示閒置进程 idle process) 或所有进程,缺省一般显示所有进程
    n - 设定显示最多进程数目,缺省一般会尽用画面的空间显示最多的进程。
    = - 解除如 u/U/i/n 等命令或 -p 选项监察进程的过滤,显示所有进程。
    x - 切换是否以粗体或反白强调排序的进程资料栏目。
    y - 切换是否以粗体或反白强调正在运行的进程。
    b - 切换 x/y 命令强调的资料以粗体还是反白显示。
    k - 终止某个进程。
    r - 改变进程 nice 值,影响进程的优先序。
    l - 切换是否显示系统运作时间 (up time) 和平均负载 (load average)。缺省会显示。
    m - 切换是否显示内存和置换空间 (swap space) 使用率。缺省会显示。
    t - 切换是否显示进程 (task) 和 CPU 状态。缺省会显示。
    1 - 切换以一列显示所有 CPU 的平均状态还是每一个 CPU 显示一列状态资讯。缺省会只显示一列平均状态。

  • 按 f 和 o 键改变显示哪些进程资料和显示次序.
    a 不显示PID
    shrift + a 显示 PID

top操作命令时,运行top动态显示时候,键入相应和命令,可以得到相关命令想要的结果 。

运维过程中应用的top命令操作

查看逻辑cpu的使用

命令模式下:
top
按键 数字1

Linux top命令使用详解_第2张图片

显示逻辑CPU的使用情况。再次按1则恢复。

高亮显示排序列

top
按键b,然后按键x
会以高亮的形式显示默认的排序%CPU
top默认以%CPU的从大到小的排序

Linux top命令使用详解_第3张图片
基于上述,再按键 shift + < 或 shift + > ,按列左移或右移来排序来看。

Linux top命令使用详解_第4张图片
例如,往右边来向右移动一列,来按%MEM排序显示 。

改变进程的显示字段

top
按键f,可以自定义top的显示字段

Linux top命令使用详解_第5张图片

在定制显示字段的界面,大写的字母,则是可以在top的界面显示的,而小写的字母的是没有显示的作用域。
想要显示这些个作用域,则可以直接按键相应的字母来显示。
例如,我们想要在top命令中显示uid,则可以直接按键d,再回车,则在top会再显示uid这个字段

Linux top命令使用详解_第6张图片
上面是增加了UID的结果。

 

使用top 结束一个进程

top
按键k,输入PID,可以结束一个进程

你可能感兴趣的:(Linux,linux,运维,服务器)