首页 > 系统相关 >一文读懂 Linux top 命令

一文读懂 Linux top 命令

时间:2025-01-02 09:54:45浏览次数:3  
标签:top 系统 占用 读懂 内存 Linux 进程 CPU

一文读懂 Linux top 命令

在 Linux 系统管理与性能调优的“武器库”中,top命令无疑是一把极为锋利的“利刃”。它能够实时动态地展示系统关键运行指标,犹如系统运行状态的“监控大屏”,为管理员和开发者快速洞察系统健康程度、资源分配状况提供关键信息。下面,就来详细拆解这个功能强大的top命令。

在这里插入图片描述

一、启动与基本界面

只需在终端简单输入top,回车之后,一幅满满当当的系统运行信息图便会展现在眼前。整个界面大致分为上下两部分:上半部分是系统整体状态的汇总数据,下半部分则罗列出了各个进程的详细信息,按 CPU 使用率由高到低依次排列。

二、顶部系统状态信息解读

  1. 第一行:系统运行时间与负载
    • 系统运行时间:格式是“xx:xx:xx”,清晰呈现系统从开机到当下已经持续运行的时长,让你直观知晓系统的“工龄”。
    • 系统负载:紧挨着运行时间的三个数字,分别代表过去 1 分钟、5 分钟、15 分钟的平均负载值。负载值越低,说明系统越轻松;若数值持续攀升,接近甚至超过 CPU 核心数,意味着系统正承受较大压力,可能出现卡顿。例如,单核系统负载达到 1 就接近满载,四核系统负载 4 左右才进入高负荷状态。
  2. 第二行:任务信息
    • 总进程数:显示当前系统正在运行、休眠、停止等各类状态下的进程总数。
    • 运行中进程数:明确此刻正在 CPU 上实际运行的进程数量,对比总进程数,能快速察觉系统的忙碌程度。
    • 休眠进程数:处于等待状态,暂时不占用 CPU 资源,等待被唤醒的进程数量。
  3. 第三行:CPU 使用率详情
    • us:用户空间占用 CPU 的百分比,反映普通用户程序消耗的 CPU 算力,像日常使用的办公软件、浏览器等应用运行时就会计入此项。
    • sy:系统空间占用 CPU 使用率,内核程序、系统调用等操作消耗的 CPU 资源归到这里,比如文件系统读写、设备驱动调度。
    • ni:调整过优先级的进程占用的 CPU 比例,优先级高的进程会优先获取 CPU 资源。
    • id:空闲 CPU 百分比,数值越高,说明 CPU 此刻越“清闲”,可供调配的算力越充裕。
    • wa:等待 I/O 的时间占比,当进程等待磁盘、网络等外部设备数据传输时,就会拉高这个数值,倘若此值过大,暗示 I/O 系统可能存在瓶颈。
    • hi:硬件中断占用 CPU 时间比例,硬件设备触发中断请求,CPU 响应处理所耗费的时长占比记录于此。
    • si:软件中断占用的 CPU 比例,内核软件层面发起的中断服务,同样消耗 CPU 资源,在此体现。
  4. 第四行:内存使用状况
    • total:系统总的物理内存大小,以常见的 KB、MB 为单位。
    • used:已被使用的内存数量,涵盖程序运行占用、缓存数据占用等部分。
    • free:空闲的、未被占用的内存容量。不过要注意,Linux 还会利用一部分空闲内存做缓存,提升系统响应速度,所以“free”并非完全闲置。
    • buffers:用作缓冲区的内存大小,主要用于磁盘块设备数据的临时缓冲,加速读写操作。
  5. 第五行:交换空间(Swap)情况
    • total:交换空间的总量,交换空间类似 Windows 的虚拟内存,是磁盘上划出的一块区域,用于在内存紧张时存放暂时不用的数据。
    • used:已经使用的交换空间大小,交换空间使用频繁,会显著拖慢系统速度。
    • free:剩余的交换空间容量。

三、进程列表信息

  1. PID:进程的唯一标识符,如同进程的“身份证号”,凭借它可以精准定位、操控某个特定进程。
  2. USER:启动该进程的用户名,区分不同用户名下运行的程序,便于排查用户相关进程异常。
  3. PR:进程优先级,数值越小优先级越高,越容易获取 CPU 资源。
  4. NI:进程的 nice 值,用于微调进程优先级,正数降低优先级,负数提升优先级。
  5. VIRT:进程使用的虚拟内存总量,包含程序代码、数据、共享库以及为进程分配的堆栈空间等。
  6. RES:进程占用的实际物理内存大小,反映进程真实的内存“ footprint”。
  7. SHR:进程共享内存的大小,多进程共享的代码段、库文件等内存部分记录在此。
  8. S:进程状态,常见的有“R”(运行中)、“S”(休眠)、“D”(不可中断睡眠,通常等待 I/O 完成 )、“Z”(僵尸进程,已结束但父进程未回收资源 )等。
  9. %CPU:进程占用 CPU 的百分比,快速锁定“吃” CPU 的大户。
  10. %MEM:进程占用内存的百分比,找出内存消耗大户。
  11. TIME+:进程从启动到当前累计占用 CPU 的时间,长时间高占用的进程可能需要优化。

四、交互操作

top命令支持丰富的交互指令:

  • 按“h”:显示帮助文档,罗列所有可用操作按键及其功能介绍。
  • 按“k”:可以杀死指定 PID 的进程,输入 PID 后回车即可终结问题进程。
  • 按“q”:退出top命令界面,回到常规终端状态。
  • 按“P”:让进程列表按 CPU 使用率重新排序,聚焦高耗能进程。
  • 按“M”:依照内存使用率对进程排序,排查内存泄漏元凶。

熟练掌握top命令,无论是排查系统卡顿原因,还是监控长时间运行任务的资源消耗,都能做到游刃有余,是 Linux 运维与开发进阶之路上不可或缺的技能。

标签:top,系统,占用,读懂,内存,Linux,进程,CPU
From: https://blog.csdn.net/2401_86610558/article/details/144807649

相关文章

  • 深入理解 Linux 中的“rm -rf”:威力与风险并存
    深入理解Linux中的“rm-rf”:威力与风险并存在Linux系统的命令行世界里,“rm-rf”可谓是声名远扬,它是一条用于删除文件与目录的强力指令。对于经验丰富的系统管理员和开发者而言,它是高效清理磁盘空间、整理文件系统的得力助手;然而,倘若使用不当,也极有可能酿成数据丢失......
  • wx.onSocketOpen
    wx.onSocketOpen(functionlistener)推荐使用SocketTask的方式去管理webSocket链接,每一条链路的生命周期都更加可控,同时存在多个webSocket的链接的情况下使用wx前缀的方法可能会带来一些和预期不一致的情况。小程序插件:不支持微信Windows版:支持微信Mac版:支持......
  • wx.setTopBarText
    wx.setTopBarText(Objectobject)从基础库1.9.9开始,本接口停止维护基础库1.4.3开始支持,低版本需做兼容处理。以Promise风格调用:支持需要页面权限:当前是插件页面时,宿主小程序不能调用该接口,反之亦然小程序插件:不支持功能描述动态设置置顶栏文字内容。只有当前小......
  • Linux云服务器修改远程SSH端口后无法连接怎么办?
    当您在Linux云服务器上修改了SSH服务的默认端口(通常是22)之后,发现无法从外部网络连接到该服务器时,可能是由于以下几个原因造成的。以下是详细的排查步骤及解决方案:确认防火墙设置:首先需要检查服务器上的防火墙规则是否允许新的SSH端口通过。对于CentOS/RHEL系统,可以使用firewall......
  • 【Linux运维】网络及网卡收发数据过程和Linux服务器排查丢包方法
    服务器丢包是网络通信中常见的问题之一,它会导致网络不稳定和数据丢失,进而影响业务的正常运行。面对这种情况,我们需要采取一系列措施来诊断和解决问题。以下是一些有效的解决方法和建议,帮助你应对服务器丢包问题。首先,我们要知道网络数据是如何封装及流向的,涉及哪些设备。当两台电......
  • linux系统变量配置
    一、为什么要配置linux的环境变量添加环境变量之后可以直接在termianl中运行shell脚本、可以在运行界面直接运行shell脚本可以为命令添加别名等操作,方便输入指令可以添加函数,方便将常用组合写成一条命令,比如git的提交操作,经典的三条指令二、如何配置linux环境变量......
  • Linux装逼玩法之wttr.in天气
    什么是wttr.in?wttr.in 是一个基于Web的命令行天气服务,由IgorChubin开发。它通过调用OpenWeatherMap 等天气服务的API,提供了简洁、直观的天气信息展示。Linux使用Curl命令可快速获取天气信息 查询指定城市的天气[WedJan0120:38:53root@localhost~]#curlwtt......
  • linux下载安装配置
    linux下载安装配置下载#镜像源网站#搜狐https://mirrors.sohu.com/#网易https://mirrors.163.com/ #阿里https://mirrors.aliyun.com/ https://developer.aliyun.com/mirror/#腾讯https://mirrors.cloud.tencent.com/ #华为https://mirrors.huaweicloud.c......
  • LinuxC高级day1
    一.虚拟机提供的网络 1. 一共有三种:            i)桥接模式:可以联网,和主机不是同一个IP地址            ii)NAT模式:可以联网,和主机用同一个IP地址            iii)仅主机模式:不能联网,可以实现......
  • docker 部署项目 Linux 可以ping通域名,但是服务无法访问域名 UnknownHostException: a
    问题描述:这个问题发生在服务器加装安全组件后,一顿网络操作(如重启网卡、重启网络)之后就发生linux无法ping通域名,但是ping通外网ip是没问题的。这个问题他们安全组件的会解决。我这里就不做重点讲解。后来安全组件那边弄通ping域名也没问题后,项目依旧无法访问域名。具体报错......