第二十一章 linux运维-Linux shell之top

命令概述

top 命令是 Linux 系统中一个强劲的实时系统监控工具,用于动态显示系统中各个进程的资源占用情况。

基本语法

bash

top [选项]

常用选项

bash

-d <秒数>      # 设置刷新间隔时间
-p <PID>       # 监控指定进程ID
-u <用户名>    # 只显示指定用户的进程
-n <次数>      # 设置刷新次数后退出
-b            # 批处理模式,适合输出到文件
-H            # 显示线程信息

启动与退出

bash

top           # 启动top
q 或 Ctrl+C   # 退出top

top 界面详解

顶部系统概览区

text

top - 10:30:00 up 10 days,  1:15,  3 users,  load average: 0.05, 0.10, 0.15
Tasks: 250 total,   1 running, 249 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 :  15927.4 total,   1024.2 free,   8192.0 used,   6711.2 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   7234.6 avail Mem

各字段含义:

  • 第一行:系统时间、运行时间、登录用户数、系统负载(1分钟、5分钟、15分钟平均值)
  • 第二行:进程总数、运行中、睡眠中、停止、僵尸进程数量
  • 第三行:CPU使用率(用户空间、系统空间、nice值、空闲、等待IO、硬件中断、软件中断、虚拟机占用)
  • 第四行:物理内存使用情况
  • 第五行:交换分区使用情况

进程列表区

text

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
1234 root      20   0  123456  78900   5678 S   5.0   0.5   10:30.01 java
5678 mysql     20   0  234567  45678   2345 S   2.5   0.3    5:15.20 mysqld

各列含义:

  • PID:进程ID
  • USER:进程所有者
  • PR:优先级
  • NI:nice值(负值表明高优先级)
  • VIRT:虚拟内存使用量(KB)
  • RES:物理内存使用量(KB)
  • SHR:共享内存大小(KB)
  • S:进程状态(R=运行, S=睡眠, Z=僵尸, D=不可中断睡眠, T=停止)
  • %CPU:CPU使用率
  • %MEM:内存使用率
  • TIME+:累计CPU时间
  • COMMAND:命令名/命令行

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

排序控制

bash

P          # 按CPU使用率排序(默认)
M          # 按内存使用率排序
N          # 按PID排序
T          # 按运行时间排序
R          # 反转排序顺序

显示控制

bash

l          # 切换显示系统负载信息
t          # 切换显示CPU状态信息
m          # 切换显示内存信息
1          # 切换显示每个CPU核心的详细使用情况
H          # 切换显示线程信息

进程操作

bash

k          # 终止指定进程(输入PID和信号)
r          # 重新设置进程的nice值

刷新控制

bash

Space      # 立即刷新显示
s          # 改变刷新间隔时间(秒)

实用示例

基本使用

bash

top                    # 启动top监控
top -d 5              # 每5秒刷新一次
top -u mysql          # 只显示mysql用户的进程
top -p 1234,5678      # 监控指定PID的进程

批处理模式

bash

top -b -n 3 > top.log          # 输出3次快照到文件
top -b -d 2 -n 5 > monitor.txt # 每2秒刷新,共5次

监控特定进程

bash

top -p $(pgrep java)          # 监控所有Java进程

高级技巧

保存top配置

bash

# 在top中设置好显示选项后按 W 保存配置
W          # 将当前配置保存到 ~/.toprc

颜色显示

bash

z          # 切换颜色显示
x          # 高亮显示排序的列
b          # 切换粗体显示

字段管理

bash

f          # 进入字段管理界面,选择显示哪些列
o          # 交互式调整列顺序

退出状态

  • 0:成功执行
  • 1:语法错误或运行错误
  • 其他:其他错误情况

注意事项

  1. top显示的是实时数据,会不断更新
  2. 默认按CPU使用率排序
  3. 可以使用重定向将输出保存到文件
  4. 在批处理模式下适合用于脚本中的系统监控

这个命令是系统管理员诊断性能问题的重大工具,熟练掌握可以快速定位系统资源瓶颈。

第二十一章 linux运维-Linux shell之top

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容