Linux 指令篇:top 命令详解

前言

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


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

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

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 <PID>仅显示特定进程
-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/内存使用情况等。掌握其基本用法、交互命令和参数选项,可以有效分析和优化系统性能。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stay Passion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值