Linux Top 命令使用教程与技巧

Linux Top 命令使用教程与技巧

1. 基本使用

启动 top

# 直接启动
top

# 设置刷新间隔(秒)
top -d 2

# 只显示特定用户的进程
top -u username

# 启动时隐藏空闲进程
top -i

2. Top 界面概览

top - 10:30:00 up 10 days,  1:15,  1 user,  load average: 0.05, 0.10, 0.15
Tasks: 150 total,   1 running, 149 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.5 us,  0.5 sy,  0.0 ni, 98.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7952.0 total,    512.0 free,   4096.0 used,   3344.0 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   3500.0 avail Mem

各区域说明:

  • 第一行:系统时间、运行时间、用户数、负载平均值
  • 第二行:进程统计(总数、运行中、睡眠、停止、僵尸)
  • 第三行:CPU使用率统计
  • 第四行:物理内存使用情况
  • 第五行:交换分区使用情况

3. 交互式命令(在 top 运行时使用)

进程排序

P - 按CPU使用率排序(默认)
M - 按内存使用率排序
T - 按运行时间排序
N - 按PID排序

显示选项

l - 切换显示负载平均值行
t - 切换显示任务/CPU状态行
m - 切换显示内存信息行
1 - 展开显示每个CPU核心的使用情况

进程操作

k - 杀死进程(输入PID和信号)
r - 重新设置进程优先级(nice值)

刷新控制

空格键 - 立即刷新
s - 更改刷新间隔时间(秒)

4. 实用技巧

批量模式(用于脚本)

# 显示一次然后退出
top -n 1 -b

# 保存到文件
top -n 1 -b > top_output.txt

# 只显示前10个进程
top -n 1 -b | head -20

监控特定进程

# 监控特定PID
top -p 1234

# 监控多个PID
top -p 1234,5678,9012

# 监控进程名包含nginx的进程
top -p $(pgrep nginx | tr '\n' ',' | sed 's/,$//')

5. 字段说明与自定义

显示完整命令行

在top运行时按:c

改变显示字段

f - 进入字段管理界面
用上下键选择字段,按空格键切换显示
d - 选择排序字段

常用字段说明

  • PID:进程ID
  • USER:进程所有者
  • PR:优先级
  • NI:nice值
  • VIRT:虚拟内存使用量
  • RES:物理内存使用量
  • SHR:共享内存大小
  • S:进程状态
  • %CPU:CPU使用率
  • %MEM:内存使用率
  • TIME+:累计CPU时间

6. 高级用法

保存配置

# 在top中调整好显示后
按 W(大写)保存配置到 ~/.toprc

颜色显示

# 启用颜色显示
top -z

# 在运行中切换颜色:按 Z

树形显示进程

# 在运行中按:V

7. 实际应用示例

监控系统性能

# 每5秒刷新,只显示重要信息
top -d 5 -i

# 按内存排序,监控内存使用
top -o %MEM

找出资源占用最高的进程

# 按CPU排序
top -o %CPU

# 按内存排序
top -o %MEM

在脚本中使用

#!/bin/bash
# 获取CPU使用率最高的进程
HIGH_CPU_PROC=$(top -bn1 -o %CPU | head -8 | tail -1 | awk '{print $12}')
echo "CPU使用最高的进程: $HIGH_CPU_PROC"

# 获取内存使用率
MEM_USAGE=$(top -bn1 | grep "MiB Mem" | awk '{print $8/$4*100}')
echo "内存使用率: ${MEM_USAGE}%"

8. 替代工具推荐

# htop - 增强版top
htop

# atop - 更详细的系统监控
atop

# nmon - 专业的性能监控工具
nmon

常用快捷键总结

  • q – 退出
  • h – 帮助
  • P/M/T – 按CPU/内存/时间排序
  • k – 杀死进程
  • r – 调整优先级
  • 1 – 显示每个CPU核心
  • z – 切换颜色显示

掌握这些 top 命令的使用技巧,可以让你更有效地监控系统性能,快速定位问题进程。

未经允许不得转载:Song It » Linux Top 命令使用教程与技巧

相关文章

评论 (0)