Linux 系统 top 命令详解

Linux 系统 top 命令详解文章目录前言top命令关键词详解1.VIRT:virtualmemoryusage虚拟内存2.RES:residentmemoryusage常驻内存3.SHR:sharedmemory共享内存4.DATA:数据占用的内存5.top运行中的交互命令top命令图解前言top命令是Linux下常用的性能分析工具,能够实时显示系统状况,比如cpu、内存的使用等。以下详细介绍top命令。top命令关键词详解1.VIRT:virtualmemoryusa

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

top命令是Linux下常用的性能分析工具,能够实时显示系统状况,比如cpu、内存的使用等。以下详细介绍 top 命令。

top 命令关键词详解

1. VIRT:virtual memory usage 虚拟内存

1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
3、单位kb。VIRT=SWAP+RES

2. RES:resident memory usage 常驻内存

1、进程当前使用的内存大小,不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
5、单位kb。RES=CODE+DATA

3. SHR:shared memory 共享内存

1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
5、单位kb

4. DATA :数据占用的内存

1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。
3、单位kb

5. top 运行中的交互命令

即 top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。
s – 改变画面更新频率
N – 以 PID 的大小的顺序排列表示进程列表
P – 以 CPU 占用率大小的顺序排列进程列表
M – 以内存占用率大小的顺序排列进程列表
h – 显示帮助
n – 设置在进程列表所显示进程的数量
q – 退出 top

top 命令图解

在这里插入图片描述

1. 系统运行时间和平均负载

top – 15:13:44 up 42 days, 15:32, 1 user, load average: 12.15, 11.13, 11.38

  1. 当前时间 : 15:13:44
  2. 系统已运行时间 : 42 days, 15:32
  3. 当前登录用户的数量 : 1 user
  4. 最近5、10和15分钟内的平均负载 : 12.15, 11.13, 11.38

2. 任务

Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie

Tasks任务(进程):

  1. 系统现在共有个进程 : 29
  2. 运行中的进程:1
  3. 休眠的进程(sleep):28
  4. stoped状态的进程 : 0
  5. zombie状态(僵尸)进程:0

3. CPU 状态

Cpu(s): 13.8%us, 12.6%sy, 0.0%ni, 72.5%id, 0.0%wa, 0.0%hi, 0.9%si, 0.0%st

显示不同模式下所占cpu时间百分比,

  1. us/user: 运行(未调整优先级的) 用户进程的CPU时间
  2. sy/system: 运行内核进程的CPU时间
  3. ni/niced:运行已调整优先级的用户进程的CPU时间
  4. wa/IO wait: 用于等待IO完成的CPU时间
  5. hi:处理硬件中断的CPU时间
  6. si: 处理软件中断的CPU时间
  7. st:这个虚拟机被hypervisor偷去的CPU时间

4. 内存使用

Mem: 197796908k total, 196512108k used, 1284800k free, 1032k buffers
Swap: 4186108k total, 3880548k used, 305560k free, 115914268k cached

第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。
注 : 内存显示可以用 ‘m’ 命令切换。

  1. 197796908k total — 物理内存总量(193161M)
  2. 196512108k used — 使用中的内存总量
  3. 1284800k free — 空闲内存总量
  4. 1032k buffers — 缓存的内存量 (1M)

swap交换分区

  1. 4186108k total — 交换区总量
  2. 3880548k used — 使用的交换区总量
  3. 305560k free — 空闲交换区总量
  4. 115914268k cached — 缓冲的交换区总量

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

在这里插入图片描述

  1. PID:进程ID,进程的唯一标识符
  2. USER:进程所有者的实际用户名。
  3. PR:进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。
  4. NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
  5. VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  6. RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  7. SHR:SHR是进程使用的共享内存。共享内存大小,单位kb
  8. S:这个是进程的状态。它有以下不同的值:
    D – 不可中断的睡眠态。
    R – 运行态
    S – 睡眠态
    T – 被跟踪或已停止
    Z – 僵尸态
  9. %CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。
  10. %MEM:进程使用的可用物理内存百分比。
  11. TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
  12. COMMAND:运行进程所使用的命令。进程名称(命令名/命令行)

6. 交互命令

1. ‘h’ : 帮助

2. ‘ENTER’ 或者 ‘SPACE’ : 刷新显示

3. ‘s’ : 设置刷新频率(单位是秒s)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193277.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月28日 下午5:22
下一篇 2025年11月28日 下午6:01


相关推荐

  • 阶乘相加

    阶乘相加阶乘相加

    2022年4月24日
    49
  • pycharm 导包_pycharm 导入Pip包

    pycharm 导包_pycharm 导入Pip包在终端通过 pip 装好包以后 在 pycharm 中导入包时 依然会报错 新手不知道具体原因是什么 我把我的解决过程发出来 解决方案一 在 Pycharm 中 依次打开 File gt Settings 弹窗如下图 点击右侧 号 输入自己需要导入包的名称 在下面列表中可以看到自己需要的包 详图如下 最后点击 InstallPacka 等待安装完成即可 解决方案二 前提是已经在终端通过 pipin

    2026年3月18日
    2
  • 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

    【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置本系列文章由zhmxy555(毛星云)编写,转载请注明出处。   文章链接: http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨)    邮箱: happylifemxy@163.com  写作当前博文时配套使用OpenCV版本:2.4.8因为读研期间的研究方向是图像处理,所以浅墨这段时间闭门研究了很多OpenCV

    2022年6月22日
    65
  • Java SSM框架简介[通俗易懂]

    Java SSM框架简介[通俗易懂]前言:在学习JavaSSM框架前,我提前学习了反射、注解和MVC模式,因为它们频繁在SSM框架中被用到,建议大家先弄明白了这些基础知识,再学习SSM框架就很简单了。Java进阶知识1:反射机制Java进阶知识2:注解MVC模式的正确理解一、JavaSSM框架的概念JavaSSM框架即指Spring+SpringMVC+MyBatis的简称,框架集由Spring、MyB…

    2022年7月12日
    18
  • 搭建nginx rtmp流媒体服务器(超详细)_nginx rtmp 集群

    搭建nginx rtmp流媒体服务器(超详细)_nginx rtmp 集群简单的直播搭建流程本微博在借鉴其他大牛之后,觉得应该写一个直播的完整流程,虽然简单,但是会有一个宏观感受:搭建nginx服务器工具:nginx下载地址:https://nginx.org/download/nginx-1.13.6.zipnginx-rtmp-module-master.zip下载地址:https://github.com/arut/nginx-rtmp-mo

    2025年11月28日
    7
  • NTP协议详解及C语言实现

    NTP协议详解及C语言实现NTP 协议详解前言 NTP 是一种通过网络在计算机之间进行时钟同步的协议 它工作在 OSI 模型的应用层 通过一系列原理与算法 实现以极小的误差 将所有网络中的计算机与 UTC 同步 由于时钟硬件精度的限制 离线的设备不总是能时刻与 UTC 同步 误差随着时间累积使计算机的本地时钟产生较大的偏差 此外 设备初次启动 启动前时钟仍处于默认状态 也需要与现在的时间同步 因此 通过互联网与可靠的时间源同步是必要的 通过这一协议 设备将寻找合适的同步源 将自身时钟与同步源同步 以保证依赖时间的应用能正常运行

    2025年8月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号