
了解更多银河麒麟操作系统全新产品请点击访问麒麟软件产品专区https://www.kylinos.cn/productPc/开发者专区https://developer.kylinos.cn/文档中心https://document.kylinos.cn/document/center一、内容概述本手册的编写目的是为了帮助银河麒麟操作系统使用者快速掌握 top 命令的使用方法解决日常系统运维中对进程监控、系统资源查看与分析的需求。top 命令是系统自带的核心监控工具无需额外安装可实时查看 CPU、内存、进程等关键信息是运维人员、开发人员排查系统性能问题、定位资源占用异常的必备工具。本手册主要内容包括 top 命令的基础介绍、启动与退出方式、界面解读、核心操作指令、参数配置及常见使用场景兼顾新手入门与进阶使用确保不同层次的读者都能通过手册熟练运用 top 命令。二、主要内容2.1 top命令基础介绍top 命令是银河麒麟操作系统中一款交互式的系统监控工具用于实时显示系统中各个进程的资源占用情况包括 CPU 使用率、内存占用、进程状态、运行时间等关键信息且支持动态刷新默认每 3 秒刷新一次可根据需求调整刷新频率。其核心作用是帮助操作者快速识别系统中的资源瓶颈如 CPU 过高、内存溢出定位占用资源最多的进程为系统性能优化、故障排查提供数据支持。top 命令的核心特点实时性强可动态监控进程状态变化交互性好支持多种快捷键操作可灵活筛选、排序进程轻量高效无需依赖额外组件系统默认自带启动速度快信息全面涵盖系统整体资源和单个进程细节满足不同监控需求。适用场景日常系统巡检查看系统资源整体使用情况排查系统卡顿、响应缓慢问题定位高 CPU、高内存占用进程监控特定进程的运行状态查看其资源消耗变化分析系统负载变化判断系统是否处于过载状态。2.2 top命令启动与退出方式2.2.1 启动方式top 命令的启动方式简单无需复杂配置在终端中直接输入对应命令即可常见启动方式分为3种基础启动在终端输入 top 并回车即可启动 top 命令进入默认监控界面默认按 CPU 使用率从高到低排序进程每 3 秒刷新一次。指定刷新频率启动输入 top -d 时间秒可自定义监控界面的刷新间隔例如 top -d 5表示每 5 秒刷新一次监控数据适合需要长时间观察、无需高频刷新的场景。启动后直接指定排序字段输入 top -o 排序字段启动后直接按指定字段排序例如 top -o %MEM启动后直接按内存使用率从高到低排序无需手动调整。2.2.2 退出方式top 命令启动后处于交互监控状态退出方式简单主要有 2 种(1) 常规退出在 top 监控界面中直接按下 q 键小写即可立即退出 top 命令返回终端界面不影响系统中正在运行的进程。(2) 强制退出若 top 命令出现异常如界面卡死可按下 Ctrl C 组合键强制终止 top 命令进程适用于常规退出无效的场景。2.3 top命令监控界面解读top 命令启动后界面分为上下两个部分上半部分为系统整体资源概览下半部分为单个进程的详细信息各区域含义如下结合实际界面逐一解读确保操作者能快速识别每一项信息的意义。2.3.1 上半部分系统整体资源概览(1) 第 1 行系统运行状态与时间信息①格式「top - 时:分:秒 up 运行时间用户数负载 average: 1 分钟负载, 5 分钟负载, 15 分钟负载」。②示例top - 14:30:00 up 2 days, 8:15, 3 users, load average: 0.80, 0.95, 1.00③各字段解读时分秒当前系统时间up 运行时间系统已连续运行的时间天、小时、分钟用户数当前登录系统的终端用户数量load average系统负载平均值分别对应1分钟、5分钟、15分钟的负载情况数值越小系统负载越低通常负载值不超过CPU核心数如4核CPU负载值≤4为正常。(2) 第2行进程统计信息①格式「Tasks: 总进程数 total, 运行中进程数 running, 休眠进程数 sleeping, 停止进程数 stopped, 僵尸进程数 zombie」。②示例Tasks: 280 total, 1 running, 278 sleeping, 0 stopped, 1 zombie③各字段解读总进程数系统当前运行的所有进程包括运行、休眠、停止、僵尸状态的总数运行中进程数正在占用CPU、处于运行状态的进程数休眠进程数暂时不占用CPU、处于休眠等待资源状态的进程数停止进程数被手动停止或异常停止的进程数僵尸进程数进程已终止但父进程未回收其资源处于“僵尸”状态的进程数正常情况下应为0若长期存在僵尸进程需排查异常。(3)第3行CPU资源使用情况①格式「%Cpu(s)用户态CPU占比us系统态CPU占比sy空闲CPU占比id等待IO的CPU占比wa硬中断CPU占比hi软中断CPU占比si虚拟机CPU占比st」。②示例%Cpu(s): 12.5 us, 3.2 sy, 83.3 id, 0.5 wa, 0.0 hi, 0.5 si, 0.0 st③各字段解读核心重点us用户态CPU用户进程占用的CPU比例若该值过高说明用户进程如应用程序、脚本消耗CPU过多sy系统态CPU系统内核进程占用的CPU比例若该值过高说明系统内核如驱动、进程调度存在异常id空闲CPU空闲的CPU比例该值越低说明CPU负载越高若长期低于10%说明CPU可能过载wa等待 IO CPU进程等待磁盘、网络等 IO 资源时占用的 CPU 比例若该值过高说明 IO 存在瓶颈如磁盘读写缓慢。(4) 第 4-5 行内存资源使用情况分为物理内存Mem和交换内存Swap。①格式Mem总内存 total已使用内存 used空闲内存 free缓冲内存 buff缓存内存 cacheSwap总交换内存 total已使用交换内存 used空闲交换内存 free缓存交换内存 cached②示例Mem16384000k total, 12582400k used, 3801600k free, 524288k buff, 2097152k cacheSwap8192000k total, 0k used, 8192000k free, 1048576k cached③各字段解读核心重点物理内存Mem计算机实际的内存如内存条used 为已使用内存包括进程占用、缓冲、缓存free 为完全空闲的内存缓冲buff用于存储磁盘 IO 的临时数据加速磁盘读写缓存cache用于存储常用程序和数据加速程序启动和数据访问 (buff 和 cache 可被系统自动释放供其他进程使用)交换内存Swap虚拟内存当物理内存不足时系统会将部分不常用的进程数据写入 Swap若 Swap 使用量过高说明物理内存不足需排查内存泄漏或增加内存。2.3.2 下半部分进程详细信息2.4. top命令核心交互操作快捷键第 6 行为表头对应下方每一行进程的具体信息表头字段及解读如下PID进程 ID唯一标识一个进程用于杀死、重启进程如 kill PIDUSER进程的所属用户用于判断进程是由哪个用户启动的如 root 用户、普通用户PR进程优先级数值越小优先级越高CPU 会优先调度范围 0-39默认 20NI进程 nice 值用于调整进程优先级范围 -20 到 19nice 值越低优先级越高可通过 renice 命令调整VIRT进程占用的虚拟内存大小单位kb包括物理内存、Swap 内存和共享内存RES进程占用的物理内存大小单位kb不包括 Swap 内存是进程实际占用的内存核心参考值SHR进程占用的共享内存大小单位kb多个进程可共享这部分内存S进程状态常见状态有 R运行中、S休眠中、D不可中断休眠通常与 IO 相关、Z僵户进程、T停止%CPU进程占用的 CPU 百分比实时更新数值越高占用 CPU 越多核心参考值%MEM进程占用的物理内存百分比实时更新数值越高占用内存越多核心参考值TIME进程累计占用的 CPU 时间精确到毫秒用于判断进程是否长期占用 CPUCOMMAND启动进程的命令如 bash、java、nginx用于识别进程对应的应用程序。2.4.1.排序操作核心常用top 命令启动后处于交互模式可通过快捷键快速操作无需退出重新启动以下是最常用、最实用的快捷键按功能分类整理方便记忆和使用按 CPU 使用率排序按下 P 键大写默认排序方式进程按%CPU 从高到低排序快速定位高 CPU 进程按内存使用率排序按下 M 键大写进程按%MEM 从高到低排序快速定位高内存进程按进程 ID 排序按下 N 键大写进程按 PID 从小到大排序方便查找特定 PID 的进程按进程运行时间排序按下 T 键大写进程按 TIME从长到短排序定位长期占用 CPU 的进程反向排序按下 R 键大写将当前排序方式反向如从高到低改为从低到高。2.4.2 筛选与搜索操作按用户筛选进程按下 u 键小写输入用户名后回车即可只显示该用户启动的所有进程如输入 root只显示 root 用户的进程按进程 ID 筛选进程按下 p 键小写输入 PID 后回车即可只显示该 PID 对应的进程方便单独监控某个进程搜索进程按命令/进程名按下 / 键小写输入进程名或命令关键词如 nginx、java回车后即可高亮显示匹配的进程按下 n 键切换到下一个匹配项按下 N 键切换到上一个匹配项。2.4.3 刷新频率与界面调整调整刷新频率按下 d 键小写输入刷新间隔时间秒后回车即可修改监控界面的刷新频率如输入 1每 1 秒刷新一次隐藏闲置进程按下 i 键小写即可隐藏处于休眠状态S的进程只显示运行中R、停止T、僵户Z等活跃进程减少干扰显示完整命令按下 c 键小写切换显示进程的命令COMMAND 字段默认显示简化命令按下后显示完整命令路径如默认显示 java切换后显示/usr/bin/java显示线程信息按下 H 键大写切换显示线程信息将进程的子线程也显示出来方便排查线程级别的资源占用问题。2.4.4 进程操作需谨慎杀死进程按下 k 键小写输入需要杀死的进程 PID 后回车再输入信号量默认 15正常终止输入 9强制终止回车即可杀死该进程【注意】谨慎操作避免杀死系统核心进程调整进程优先级按下 r 键小写输入需要调整优先级的进程 PID 后回车再输入 nice 值-20 到 19回车即可调整该进程的优先级仅 root 用户可调整所有进程普通用户只能调整自己的进程。2.5 top命令常用参数配置除了交互快捷键top 命令还支持多种启动参数可在启动时直接配置监控模式无需进入交互界面后调整以下是常用参数-d 秒数指定刷新间隔如 top -d 2每 2 秒刷新一次-u 用户名启动后只显示指定用户的进程如 top -u root只监控 root 用户的进程-p PID1, PID2,...启动后只显示指定PID的进程如 top -p 1234,5678只监控PID为1234和5678的两个进程-o 排序字段启动后按指定字段排序如 top -o %MEM按内存排序、top -o TIME按运行时间排序-b批处理模式不进入交互界面直接输出监控数据适合用于脚本自动化监控如定时输出资源占用情况到日志-n 次数指定批处理模式下的输出次数如 top -b -n 3输出3次监控数据后退出-H启动后直接显示线程信息相当于启动后按下H键如 top -H -p 1234显示PID为1234的进程的所有子线程-i启动后不显示闲置进程相当于启动后按下i键如 top -i只显示活跃进程。2.6 top命令常见使用场景及实例结合日常运维中的实际需求整理top命令的常见使用场景搭配具体操作实例帮助操作者快速上手解决实际问题2.6.1 场景1排查系统卡顿定位高CPU进程问题现象系统运行缓慢、终端响应卡顿怀疑 CPU 过载操作步骤终端输入 top启动监控界面按下 P 键按 CPU 使用率从高到低排序查看 %CPU 字段找到数值最高的进程记录其 PID 和 COMMAND确定是哪个应用若该进程是无用进程按下 k 键输入 PID按回车输入 9强制终止再回车杀死进程若该进程是必要应用如业务程序则需进一步分析其 CPU 占用高的原因如程序异常、请求过多。实例top 启动后按 P 排序发现 PID 为 1234 的 java 进程 %CPU 达到 90%确认该进程是异常启动的程序按下 k输入 1234输入 9终止进程后系统卡顿缓解。2.6.2 场景2排查内存不足定位高内存进程问题现象系统提示“内存不足”或应用程序无法启动Swap 使用量过高操作步骤终端输入 top启动监控界面按下 M 键按内存使用率从高到低排序查看 %MEM 和 RES 字段找到占用内存最多的进程记录其 PID 和 COMMAND分析该进程是否必要若为无用进程杀死进程若为必要应用需优化程序如释放内存泄漏或增加物理内存。实例top 启动后按 M 排序发现 PID 为 5678 的 nginx 进程 %MEM 达到 60%RES 占用 8G 内存检查发现 nginx 进程异常启动了多个实例杀死多余实例后内存占用恢复正常。2.6.3 场景3监控特定进程的运行状态需求实时监控某个业务进程如 PID 为 7890 的 python 脚本的 CPU、内存占用情况操作步骤终端输入 top -p 7890启动后只显示该 PID 的进程按下 d 键输入 1将刷新频率调整为 1 秒实时观察 %CPU 和 %MEM 的变化若需要查看该进程的线程按下 H 键查看子线程的资源占用情况。2.6.4 场景4定时记录系统资源占用情况自动化监控需求每 5 分钟记录一次系统 CPU、内存及 top5 高资源进程保存到日志文件操作步骤终端输入命令top -b -d 300 -n 1 /var/log/system_monitor.log参数解释-b批处理模式、-d 300每 5 分钟刷新一次、-n 1输出 1 次、追加到日志文件可结合 crontab 定时任务设置每 5 分钟执行一次该命令实现长期自动化监控。