top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

1.命令格式:

top [参数]

2.命令功能:

显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

3.命令参数:

-b 批处理

-c 显示完整的治命令

-I 忽略失效过程

-s 保密模式

-S 累积模式

-i<时间> 设置间隔时间

-u<用户名> 指定用户名

-p<进程号> 指定进程

-n<次数> 循环显示的次数

4.使用实例:

实例1:显示进程信息

命令:top

输出:

下面逐行解释这些内容代表什么含义。

  • 第一行:概况
    HH:mm:ss:当前的系统时间。
    up xxx days, HH:mm:从本次开机到现在经过的时间。
    x user:当前有几个用户登录到该机器。
    load average:系统1分钟、5分钟、15分钟内的平均负载值。
    平均负载的详细含义和算法内容很丰富,请暂时参考这里。

  • 第二行:进程计数(Tasks)
    total:进程总数。
    running:正在运行的进程数,对应状态TASK_RUNNING。
    sleeping:睡眠的进程数,对应状态TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLE。
    stopped:停止的进程数,对应状态TASK_STOPPED。
    zombie:僵尸进程数,对应状态TASK_ZOMBIE。

  • 第三行:CPU使用率(%Cpu(s))
    us:进程在用户空间(user)消耗的CPU时间占比,不包含调整过优先级的进程。
    sy:进程在内核空间(system)消耗的CPU时间占比。
    ni:调整过用户态优先级的(niced)进程的CPU时间占比。
    id:空闲的(idle)CPU时间占比。
    wa:等待(wait)I/O完成的CPU时间占比。
    hi:处理硬中断(hardware interrupt)的CPU时间占比。
    si:处理软中断(software interrupt)的CPU时间占比。
    st:当Linux系统是在虚拟机中运行时,等待CPU资源的时间(steal time)占比。

  • 第四、五行:物理内存和交换空间(Mem/Swap)
    以物理内存为例。free命令也会打印出类似的信息。
    total:内存总量。
    free:空闲内存量。
    used:使用中的内存量。
    buff/cache:缓存和page cache占用的内存量。

  • 以下所有行:进程详细信息
    这里显示的数据列是可以改的,默认会显示如图中的12列。其含义分别如下:
    PID:进程ID。
    USER:进程所有者的用户名。
    PR:从系统内核角度看的进程调度优先级。
    NI:进程的nice值,即从用户空间角度看的进程优先级。值越低,优先级越高。
    VIRT:进程申请使用的虚拟内存量。
    RES:进程使用的驻留内存(即未被swap out的内存)量。
    SHR:进程使用的共享内存量。
    S:进程状态。R=running,S=interruptible sleeping,D=uninterruptible sleeping,T=stopped,Z=zombie。
    %CPU:进程在一个更新周期内占用的CPU时间比例。
    %MEM:进程占用的物理内存比例。
    TIME+:进程创建后至今占用的CPU时间长度。
    COMMAND:运行进程使用的命令。

在top命令的界面中,可以输入一些指令实现交互性的操作,下面列出一些比较常用的交互性操作。

  • CTRL+L:刷新整个屏幕,重新开始显示。
  • h:显示帮助。
  • q:退出top程序。
  • 空格:立即刷新信息。
  • k:杀掉进程。输入k之后,会提示用户输入PID及要发送哪种信号。
  • r:重新设置进程优先级,即renice。输入r之后,会提示用户输入PID及新的nice值。
  • s:改变刷新周期。输入s之后,会提示用户输入新的刷新周期,单位为秒。
  • n:改变进程列表中的显示数量。
  • f:添加或删除进程列表中的列。输入f之后会显示字母与列的映射表,再输入对应字母就可以开关相应的列。
  • c:在COMMAND列中切换显示命令名和完整的命令行。
  • u:指定在进程列表中只显示对应用户的进程。
  • l:切换显示界面中第一行信息(时间和平均负载)。
  • t:切换显示界面中第二、三行信息(进程和CPU统计)。
  • m:切换显示界面中第四、五行信息(内存和交换空间)。
  • 1:切换展开CPU统计信息。展开后,会分别显示CPU每个逻辑核心的占用。
  • N:按PID对进程排序。
  • M:按%MEM对进程排序。
  • P:按%CPU对进程排序。
  • T:按TIME+对进程排序。
  • H:切换在进程列表中显示所有线程信息。

其他使用技巧:

1.多U多核CPU监控

在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:

观察上图,服务器有16个逻辑CPU,实际上是4个物理CPU。再按数字键1,就会返回到top基本视图界面。

2.高亮显示当前运行进程

敲击键盘“b”(打开/关闭加亮效果),top的视图变化如下:

我们发现进程id为2570的“top”进程被加亮了,top进程就是视图第二行显示的唯一的运行态(runing)的那个进程,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。

3.进程字段排序

默认进入top时,各进程是按照CPU的占用量来排序的,在下图中进程ID为28894的java进程排在第一(cpu占用142%),进程ID为574的java进程排在第二(cpu占用16%)。

敲击键盘“x”(打开/关闭排序列的加亮效果),top的视图变化如下:

可以看到,top默认的排序列是“%CPU”。

原文链接:https://www.jianshu.com/p/a6e96c102881

【转载】linux top命令及参数详解相关推荐

  1. Linux TOP命令各参数详解

    Linux TOP命令参数详解 TOP命令参数详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. ...

  2. linux top 命令各参数详解

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...

  3. Linux top 命令的参数详解

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...

  4. linux下的arp刷新命令详解,linux arp 命令常用参数详解

    linux arp 命令常用参数详解 linux arp 命令常用参数详解 显示和修改地址解析协议(ARP)使用的"IP 到物理"地址转换表. ARP -s inet_addr e ...

  5. Linux 史上最全top命令及参数详解

    总目录 **一.top简介** **二.top命令** 1.top -d:number代表秒数 默认5秒 刷新一次 2.top -b:以批次的方式执行top 3.top -b: '批量模式',用来将输 ...

  6. top命令显示参数详解

    Linux中top命令详解 1. 前5行参数解析 2.进程信息列表区 3.特殊操作 top命令主要用来查看系统状况,CPU.内存.进程资源占用情况. 使用格式如下: top -d 10 //表示所打开 ...

  7. linux-linux top 命令各参数详解

    原文 简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过 ...

  8. linux shutdown命令以及参数详解

    在说shutdown命令之前 先说一下sync命令: sync:将内存中尚未写入硬盘的数据写入硬盘 因为linux为了保证数据读写速度,把常用的数据放在内存中,不会立即写入硬盘,如果有不当关机,这些数 ...

  9. linux df -h指令,Linux df 命令使用参数详解

    df命令用来检查linux系统的文件系统的磁盘空间使用情况. 语法及格式 df [选项] [文件名] 常见参数 -a:--all,显示所有的文件系统,包括虚拟文件系统,参考示例2. -B:--bloc ...

最新文章

  1. LLVM与Clang编译图例
  2. MYSQL体系结构-来自期刊
  3. 关于Shiro框架权限标识符中*使用的总结
  4. python代码计算矩形面积_学习资料Python语言基础知识笔记以及答案
  5. ios9和xcode7的适配问题
  6. [ACL17]A Minimal Span-Based Neural Constituency Parser(一个最小化的基于跨度的神经句法分析器)...
  7. python使用长ping命令_在Python中调用Ping命令,批量IP的方法
  8. CSS选择器之基本选择器总结
  9. AdminLTE的介绍与使用(详细流程)-----前端框架
  10. js移除某个样式_JS removeAttribute()方法:删除元素的某个属性
  11. 【C语言经典100题】乒乓球队的比赛
  12. 2021年最全的自动化测试面试题及答案--看完后吊打面试官!自动化测试是什么?自动化测试学什么?
  13. POJ 1265 Area
  14. 怎么用visio绘制出一半实线,一半虚线的椭圆,并填充颜色
  15. 保姆级教程:深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)
  16. 直流电压和电流数据记录器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. 干货 | 携程国际业务动态实时标签处理平台实践
  18. 在 Python 中通过知识图谱进行语义搜索(spaCy 教程含源码)
  19. dx12 龙书第九章学习笔记 -- 纹理贴图
  20. Docker Redis 哨兵 小实验

热门文章

  1. 奇异值分解究竟是个啥,该如何理解
  2. 【机器人基础】机器人阻抗控制概念
  3. Go语言中Printf 的用法
  4. Linux命令`ll`的各列什么意思
  5. 虚拟化查看服务器sn,linux 查看服务器sn号
  6. 【每日论文】GenCo: Generative Co-training for Generative Adversarial Networks with Limited Data
  7. FastDFS分布式文件系统(详细入门级介绍)
  8. Arduino UNO驱动MCP9808高精度数字温度传感器
  9. Mysql的日志详解(详细)
  10. 估值指标二把手——市净率