当前位置: 首页 > news >正文

Linux top 命令使用说明

文章目录

  • Linux top 命令使用说明
    • 简介
    • 基本语法
    • 命令选项
    • 输出字段解释
      • 系统概览区域
      • 进程列表字段
    • 交互命令
    • 使用示例
      • 1. 基本使用
      • 2. 设置刷新间隔
      • 3. 显示指定进程
      • 4. 显示指定用户的进程
      • 5. 显示完整命令行
      • 6. 批处理模式输出
      • 7. 按内存使用率排序
      • 8. 显示线程信息
      • 9. 显示单个 CPU 核心信息
      • 10. 自定义显示字段
    • 高级用法
      • 1. 实时监控特定进程资源
      • 2. 导出 top 数据到文件并分析
      • 3. 监控多核 CPU 负载
      • 4. 高亮显示当前运行的进程
      • 5. 调整进程优先级
    • 注意事项
    • 相关命令对比

Linux top 命令使用说明

简介

top 命令是 Linux 系统中常用的性能分析工具,能够实时动态地显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。它可以帮助用户监视系统的 CPU、内存使用情况,以及各个进程的运行状态,是系统管理员必备的工具之一。

基本语法

# 基本使用
$ top# 带选项使用
$ top [选项]

命令选项

选项描述示例
-d <秒数>指定每两次屏幕刷新之间的时间间隔top -d 2
-p <PID>显示指定 PID 的进程信息top -p 1234
-H线程模式,显示进程中的线程top -H -p 1234
-c显示完整命令行而不只是命令名top -c
-i忽略闲置和僵死进程top -i
-u <用户名>显示指定用户的进程top -u root
-n <次数>设置循环显示的次数top -n 5
-o <字段>按照指定字段排序top -o %CPU
-w <列数>设置屏幕宽度top -w 200
-b批处理模式,非交互式top -b -n 1 > top_output.txt
-S累积模式,显示每个进程的累积 CPU 时间top -S
-1显示每个逻辑 CPU 的详细信息top -1
-h/-v显示帮助信息top -h

输出字段解释

系统概览区域

top 命令的输出分为三个部分:系统概览区域、进程表头和进程列表。以下是系统概览区域的解释:

  1. 第一行(运行时间和平均负载)

    top - 16:52:51 up 5:37,  2 users,  load average: 0.31, 0.42, 0.33
    
    • 16:52:51: 当前系统时间
    • up 5:37: 系统已运行时间
    • 2 users: 当前登录用户数量
    • load average: 0.31, 0.42, 0.33: 系统在过去 1 分钟、5 分钟、15 分钟的平均负载
  2. 第二行(任务/进程统计)

    Tasks: 85 total,   1 running,  84 sleeping,   0 stopped,   0 zombie
    
    • 85 total: 总进程数
    • 1 running: 正在运行的进程数
    • 84 sleeping: 睡眠状态的进程数
    • 0 stopped: 已停止的进程数
    • 0 zombie: 僵尸进程数
  3. 第三行(CPU 状态)

    %Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
    
    • 0.3 us: 用户空间 CPU 使用率
    • 0.3 sy: 系统空间 CPU 使用率
    • 0.0 ni: 优先级调整过的进程 CPU 使用率
    • 99.0 id: 空闲 CPU 百分比
    • 0.0 wa: 等待 I/O 的 CPU 时间百分比
    • 0.0 hi: 硬件中断处理时间百分比
    • 0.3 si: 软件中断处理时间百分比
    • 0.0 st: 被虚拟机窃取的 CPU 时间百分比
  4. 第四行(内存使用)

    Mem:   1004136k total,   456464k used,   547672k free,    26492k buffers
    
    • 1004136k total: 物理内存总量
    • 456464k used: 已使用的物理内存
    • 547672k free: 空闲物理内存
    • 26492k buffers: 缓冲区使用的内存
  5. 第五行(交换分区使用)

    Swap:  1048572k total,        0k used,  1048572k free,   214520k cached
    
    • 1048572k total: 交换分区总量
    • 0k used: 已使用的交换分区
    • 1048572k free: 空闲交换分区
    • 214520k cached: 缓存的交换分区

进程列表字段

字段描述
PID进程 ID
USER进程所属用户
PR进程优先级
NI进程nice值(优先级调整值)
VIRT进程使用的虚拟内存总量(KB)
RES进程使用的物理内存总量(KB)
SHR进程使用的共享内存总量(KB)
S进程状态(R:运行, S:睡眠, T:停止, Z:僵尸, D:不可中断睡眠)
%CPU进程占用的 CPU 百分比
%MEM进程占用的内存百分比
TIME+进程累计使用的 CPU 时间
COMMAND进程命令名称或完整命令行

交互命令

top 命令运行过程中,可以使用以下交互式命令进行操作:

命令描述
h/?显示帮助信息
q退出 top 命令
k终止指定 PID 的进程
r重新设置进程的优先级(nice值)
s改变屏幕刷新间隔时间
l切换是否显示平均负载和启动时间
t切换是否显示进程和 CPU 状态信息
m切换是否显示内存信息
c切换是否显示完整命令行
i切换是否显示闲置和僵死进程
M按内存使用率排序
P按 CPU 使用率排序
T按累计 CPU 时间排序
N按 PID 排序
F/f添加或删除显示字段
O/o改变字段显示顺序
W保存当前设置到配置文件 ~/.toprc
1显示/隐藏单个 CPU 核心信息
E切换内存显示单位(KiB 到 EiB)
H切换线程模式
>向右移动排序列
<向左移动排序列
R反向排序当前列

使用示例

1. 基本使用

# 启动 top 命令
$ top

2. 设置刷新间隔

# 每 2 秒刷新一次
$ top -d 2

3. 显示指定进程

# 显示 PID 为 1234 的进程
$ top -p 1234

4. 显示指定用户的进程

# 显示 root 用户的进程
$ top -u root

5. 显示完整命令行

# 显示进程的完整命令行
$ top -c

6. 批处理模式输出

# 输出一次 top 信息到文件
$ top -b -n 1 > top_output.txt

7. 按内存使用率排序

# 启动 top 后按 M 键
$ top
# 然后按 M 键

8. 显示线程信息

# 显示进程的线程信息
$ top -H -p 1234

9. 显示单个 CPU 核心信息

# 启动 top 后按 1 键
$ top
# 然后按 1 键

10. 自定义显示字段

# 启动 top 后按 f 键,然后选择要显示的字段
$ top
# 然后按 f 键

高级用法

1. 实时监控特定进程资源

# 结合 watch 命令监控特定进程
$ watch -n 1 'top -b -n 1 -p 1234 | tail -n 1'

2. 导出 top 数据到文件并分析

# 导出 10 次 top 数据
$ top -b -n 10 > top_data.txt
# 使用 grep 和 awk 分析数据
$ grep 'nginx' top_data.txt | awk '{print $9, $10}'

3. 监控多核 CPU 负载

# 启动 top 后按 1 键查看每个核心的负载
$ top
# 然后按 1 键

4. 高亮显示当前运行的进程

# 在 top 交互模式下按 x 键
$ top
# 然后按 x 键

5. 调整进程优先级

# 在 top 交互模式下按 r 键,然后输入进程 PID 和新的 nice 值
$ top
# 然后按 r 键,输入 PID,再输入 nice 值(范围 -20 到 19)

注意事项

  1. top 命令默认按 CPU 使用率排序,按 M 键可切换到按内存使用率排序。
  2. 系统平均负载值如果持续大于 CPU 核心数的 0.7 倍,可能表示系统负载过高。
  3. 僵尸进程(Z 状态)通常不需要手动处理,系统会自动回收。如果大量出现,可能是父进程存在问题。
  4. 高 CPU 或内存占用的进程可能是性能瓶颈或异常进程,需要进一步分析。
  5. top 命令的输出可能因 Linux 发行版不同而略有差异,具体以实际系统为准。
  6. 使用 W 命令可以保存当前设置到 ~/.toprc 文件,下次启动时自动加载。

相关命令对比

命令功能特点
top实时监控进程资源动态更新,交互式操作
ps查看进程静态快照一次性显示当前进程状态
htop增强版进程监控工具界面更友好,支持鼠标操作
atop高级系统和进程监控提供更详细的系统资源信息
glances跨平台系统监控工具支持多种输出格式,功能全面
http://www.dtcms.com/a/511678.html

相关文章:

  • 研发图文档管理的革新:从无序到智能协同
  • springboot点餐系统的设计与实现(代码+数据库+LW)
  • ArcoDesignVue Select组件分离问题
  • Python开发:接口场景设计
  • 汽车网站flash模板定制高端网站建设
  • 【Ubuntu18.04 D435i RGB相机与IMU标定详细版(三)】
  • 单肩包自定义页面设计模板seo关键词优化软件app
  • 朊病毒检测市场:技术突破与公共卫生需求驱动下的全球增长
  • 思维清晰的基石:概念和命题解析
  • ubuntu中替换python版本
  • mybatis请求重试工具
  • 高速运放输入引脚并联电阻太小会怎样?
  • vue前端面试题——记录一次面试当中遇到的题(10)
  • 有没有做高仿手表的网站php网站地图
  • wordpress提交百度站长中建装饰集团有限公司官网
  • 牛客网 AI题​(一)机器学习 + 深度学习
  • 第一例:石头剪刀布的机器学习(xedu,示例15)
  • 【AI论文】D2E:基于桌面数据扩展视觉-动作预训练规模,以迁移至具身人工智能领域
  • 机器学习和深度学习模型训练流程
  • C++ STL——allocator
  • 开题报告--中美外贸企业电子商务模式的比较分析
  • 基于原子操作的 C++ 高并发跳表实现
  • java 8 lambda表达式对list进行分组
  • 网站建设 有聊天工具的吗网站开发者的设计构想
  • 建网站 北京网站接入支付宝在线交易怎么做
  • scrapy爬取豆瓣电影
  • bisheng 的 MCP服务器添加 或 系统集成
  • 一个完整的 TCP 服务器监听示例(C#)
  • 执行操作后元素的最高频率1 2(LeetCode 3346 3347)
  • Java 大视界 -- Java 大数据在智慧交通停车场智能管理与车位预测中的应用实践