[Linux服务器] Linux 指令篇:top 命令详解

754 0
Honkers 2025-10-14 08:38:22 来自手机 | 显示全部楼层 |阅读模式

前言

    top 命令是 Linux 下用于实时监控系统进程和资源使用情况的重要工具。本文将详细介绍 top 命令的基本用法、高级技巧以及实际应用场景。


一、查看 Java 进程占用的内存

使用 top 命令按内存占用排序,并筛选 Java 进程:

  1. top -o %MEM -b -n 1 | grep java | awk '{print "PID: "$1" \t 虚拟内存: "$5" \t 物理内存: "$6" \t 共享内存: "$7" \t CPU使用率: "$9"% \t 内存使用率: "$10"%"}'
复制代码

 


二、系统整体统计信息详解

1. 第一行(系统运行状态)

  • top:当前时间

  • up:系统已运行时间

  • users:当前登录用户数

  • load average:系统负载,三个数值分别为 1 分钟、5 分钟、15 分钟的平均任务队列长度。

Tips:

  • Load Average 代表 CPU 任务负载情况,通常不应超过 CPU 总核数。

2. 第二行(任务状态)

  • Tasks:总进程数

  • running:正在运行的进程数

  • sleeping:休眠中的进程数

  • stopped:停止的进程数

  • zombie:僵尸进程数

Tips:

  • running越多,服务器压力就越大

3. 第三行(CPU 使用情况)

  • us:用户态 CPU 占比

  • sy:内核态 CPU 占比

  • ni:调整优先级后的 CPU 占比

  • id:空闲 CPU 占比

  • wa:等待 I/O 的 CPU 占比

  • hi:硬件中断占比

  • si:软件中断占比

  • st:被虚拟机偷取的 CPU 时间

4. 第四、五行(内存和 Swap 信息)

  • total:总内存 / 交换分区大小

  • free:空闲内存 / 交换分区

  • used:已使用的内存 / 交换分区

  • buff/cache:内核缓存

Tips:

  • 第四、五行分别是内存信息和swap信息
  • 所有程序的运行都是在内存中进行的,所以内存的性能对与服务器来说非常重要。
  • 当内存的free变少的时候,无需紧张。真正需要看的是Swap中的used信息。
  • 关注 Swap used:Swap分区是由硬盘提供的交换区,当物理内存不够用的时候,操作系统才会把暂时不用的数据放到Swap中。当这个数值变高的时候,说明内存是真的不够用了,可能影响性能: used

三、进程信息详解

1. 进程列表关键字段

参数说明
PID进程 ID
USER进程所有者
PR进程优先级
NInice 值(优先级调整值)
VIRT进程占用的虚拟内存
RES进程实际占用的物理内存
SHR共享内存
S进程状态(R=运行,S=睡眠,Z=僵尸)
%CPUCPU 占用率
%MEM内存占用率
COMMAND进程命令

四、Top 命令交互操作

默认进入top时,各进程是按照CPU的占用量来排序的

  • 按键盘数字1可以监控每个逻辑CPU的状况
  • 输入u,然后输入用户名,则可以查看相应的用户进程
  • top命令默认以K为单位显示内存大小,我们可以通过大写字母E切换内存信息区域的显示单位,按一下E切换到MB,再按一下E切换到GB
  • 输入h进入top命令的帮助文档,了解更多关于top的用法

①当前是按照%CPU这一列来排序的

②可以通过上、下键来选择

③按右键可以选择整个列,然后按上、下键来移动整个列的显示位置,前移或后移,按回车确定

④按空格键来显示或隐藏该列,带*的是显示,不带*的是不显示

⑤按s键可以将当前列设置为排序列

⑥按q键退出

1. 编辑显示内容

  • 按 f 进入字段编辑模式。

  • 选择列后按 s 设置排序列。

  • 按 q 退出编辑。

2. 排序调整

  • Shift + P 按 CPU 占用排序。

  • Shift + M 按内存占用排序。

  • Shift + T 按运行时间排序。

3. 其他交互指令

按键说明
1显示所有 CPU 核心使用情况
u按用户筛选进程
c显示完整进程命令行
E切换内存单位(KB/MB/GB)
h显示帮助信息

五、Top 命令常用选项

选项说明
-d <秒>设置刷新间隔
-p 仅显示特定进程
-S累计模式(显示进程的 CPU 时间累计值)
-i仅显示活动进程
-c显示完整命令行

示例:

top   每隔3秒显式所有进程的资源占用情况

top -d 1  每隔1秒显式所有进程的资源占用情况

top -c    每隔3秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)

top -p 28820 -p 38830   每隔3秒显示pid是28820和pid是38830的两个进程的资源占用情况

top -d 2 -c -p 69358  每隔2秒显示pid是69358的进程的资源使用情况,并显式该进程启动的命令行参数


六、总结

top 命令是 Linux 运维中必备的工具之一,可以实时监测系统负载、进程状态、CPU/内存使用情况等。掌握其基本用法、交互命令和参数选项,可以有效分析和优化系统性能。

如果觉得这篇博客对你有帮助,记得点赞 ⭐、收藏 📌、关注 🚀!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行