Linux常用命令学习笔记:top

命令功能

top命令是 Linux 系统中最常用的实时性能监控工具,用于动态显示系统中各个进程的资源占用状况,包括 CPU、内存、负载等关键指标。它提供了一个全屏交互式界面,可以实时监控系统运行状态。

基本语法

top [选项]

常用选项

选项说明
-d指定刷新间隔时间(秒)
-n指定刷新次数后退出
-p监控指定进程 ID
-u监控指定用户的进程
-c显示完整的命令行
-b批处理模式,输出到文件
-H显示线程信息
-i不显示闲置或僵死进程

使用示例

启动 top 监控

top

每 2 秒刷新一次

top -d 2

监控指定进程

top -p 1234

监控指定用户

top -u username

批处理模式输出到文件

top -b -n 1 > top_output.txt

界面说明

系统摘要信息(顶部)

第一行:系统时间、运行时间、登录用户数、系统负载(1分钟、5分钟、15分钟)

top - 10:30:00 up 10 days, 1:23, 3 users, load average: 0.05, 0.10, 0.15

第二行:进程总数(运行中、睡眠中、停止、僵尸)

Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie

第三行:CPU 使用率(用户、系统、空闲、等待、硬中断、软中断)

%Cpu(s): 1.5 us, 0.5 sy, 98.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si

第四行:物理内存使用(总内存、已用、空闲、缓存)

KiB Mem : 16384000 total, 4096000 free, 8192000 used, 4096000 buff/cache

第五行:交换分区使用

KiB Swap: 4194304 total, 0 free, 4194304 used. 8192000 avail Mem

进程列表(主体)

字段说明
PID进程 ID
USER进程所有者
PR优先级
NInice 值
VIRT虚拟内存大小
RES物理内存大小
SHR共享内存大小
S进程状态
%CPUCPU 使用率
%MEM内存使用率
TIME+占用 CPU 时间
COMMAND进程命令

交互式命令

排序命令

命令功能
P按 CPU 使用率排序
M按内存使用率排序
N按进程 ID 排序
T按运行时间排序
k按字母顺序排序

显示控制

命令功能
h显示帮助
q退出 top
1显示所有 CPU 核心的详细信息
f自定义显示字段
o自定义排序字段
u只显示指定用户的进程
c显示完整命令行
H显示线程信息
i忽略闲置和僵死进程
z高亮显示运行中的进程

进程管理

命令功能
k终止进程(输入 PID)
r调整进程优先级(输入 nice 值)

实用技巧

查找高 CPU 占用进程

top -o %CPU

查找高内存占用进程

top -o %MEM

监控特定进程

top -p $(pgrep nginx)

保存 top 输出

top -b -n 1 | head -20

定时执行并保存

while true; do top -b -n 1 | head -20 >> top_log.txt; sleep 5; done

注意事项

  1. 权限要求:普通用户只能查看自己的进程,root 用户可以查看所有进程
  2. 资源消耗:top 本身会占用少量系统资源
  3. 实时性:默认每 3 秒刷新一次,可通过 -d调整
  4. 批处理模式-b选项适合脚本中使用

相关命令

  • htop:增强版的 top 命令
  • ps:显示进程快照
  • free:显示内存使用
  • vmstat:显示虚拟内存统计
  • iostat:显示磁盘 I/O 统计

总结

top命令是 Linux 系统管理员必备的工具,通过实时监控系统资源使用情况,可以快速定位性能瓶颈和异常进程。熟练掌握 top 的交互式命令和选项,能够大大提高系统运维效率。


作 者:南烛
链 接:https://www.itnotes.top/archives/622
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇