如何在 Linux 上使用 top 命令教程

如何在 Linux 上使用 top 命令教程

简介

top 命令在 Linux 中显示实时系统信息,包括运行中的进程、活跃用户以及资源利用率,如 CPU 和内存。你可以使用 top 来监控、排查问题,并识别系统中的性能问题。

本文将解释如何在 Linux 中使用 top 命令。

准备工作

服务器准备

必要前提:

  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: [https://www.rainyun.com/NTY5MTk3_)

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

在这里插入图片描述

  • 按照自己需求选择配置,选择 Ubuntu 22.04 版本,按照自己需求是否预装 Docker。

  • 最后按照提示进行购买。

  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

  • 到此为止,我们的云服务器就远程连接上了。

安装和配置步骤

第一步:top 命令的基本语法

以下是 Linux top 命令的基本语法:

top [options]

在上述命令中,options 修改命令的行为以自定义输出。

第二步:最常见的 Linux top 命令选项

以下是最常见的 Linux top 命令选项:

选项描述
-d延迟屏幕更新之间的时间间隔。
-p监控特定的进程 ID。
-n定义 top 退出前的迭代次数。
-b运行批处理模式操作以在文件中捕获输出。
-u显示特定用户的进程。
-s运行 top 在安全模式下隐藏或掩蔽某些信息。
-i忽略空闲和僵尸进程。
-o根据特定字段(例如,CPU 使用率)对进程进行排序。
-H显示单独的线程。
-c显示命令名称而不是命令行参数。此选项使进程列表更易读。

第三步:理解 Linux top 命令界面

top 命令界面默认情况下会连续显示进程列表和关于 CPU 使用率、内存使用率、负载平均值等系统统计信息。列表显示了最消耗资源的进程在顶部。

运行不带任何选项的 top 命令以访问默认界面,查看系统进程、CPU 和内存使用情况。

CtrlQ 退出界面。

第四步:top 命令界面的各个部分

top 命令界面有以下几个部分:

  • 系统信息:显示系统的一般信息,包括运行时间、活跃用户数量、负载平均值和运行中的进程数量。

    示例:

    top - 15:24:15 up 2 days,  4:36,  2 users,  load average: 0.08, 0.09, 0.10
    
  • 任务摘要:显示总活动任务的摘要,包括进程数量及其状态。

    示例:

    Tasks: 142 total,   1 running, 141 sleeping,   0 stopped,   0 zombie
    
  • 系统进程列表:显示每个进程的详细信息,包括 PID、用户、CPU 使用率、内存使用率和命令信息。

    示例:

    PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
    1234 root      20   0  123M  45M  15M S   0.3  2.5   0:01.23 process_name
    

    在上述部分中,每个标题代表一个特定值,如下所述:

    • PID: 每个任务的唯一进程 ID。
    • PR: 系统进程优先级,数字越低表示优先级越高。
    • VIRT: 进程使用的总虚拟内存。
    • USER: 拥有运行中进程的系统用户。
    • %CPU: 进程消耗的 CPU 百分比。
    • SHR: 进程使用的共享内存量,单位为 KBs(千字节)。
    • NI: 优先级值,用于优先级 CPU 使用。负值表示更高优先级,正值表示更低优先级。
    • %MEM: 显示进程使用的内存百分比。
    • RES: 显示进程使用的驻留内存量,单位为 KBs(千字节)。
    • TIME+: 显示进程自启动以来使用的总 CPU 时间。
    • COMMAND: 显示启动进程的命令。
  • CPU 使用率:显示 CPU 使用统计信息,包括系统进程上花费的时间和平均输入/输出(I/O)处理时间。

    示例:

    %Cpu(s):  2.3 us,  1.5 sy,  0.0 ni, 95.6 id,  0.4 wa,  0.0 hi,  0.2 si,  0.0 st
    

    在上述输出中:

    • us: 在用户进程上花费的时间。
    • sy: 在系统(内核)进程上花费的时间。
    • id: 空闲时间。
    • wa: 等待 I/O 操作完成所花费的时间。
  • 内存使用率:显示系统的内存使用统计信息,包括已使用和可用的内存。

    示例:

    MiB Mem :   8000.0 total,   2048.0 free,   4500.0 used,   1452.0 buff/cache
    MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   3060.0 avail Mem
    

    在上述输出中:

    • total: 总可用内存。
    • used: 已使用的内存。
    • free: 进程可用的空闲内存。
    • buff/cache: 用于缓冲区和缓存的内存。

第五步:在 Linux 中运行 top 命令

本节使用实际示例向您展示如何在 Linux 中使用 top 命令。按照以下步骤运行示例。

  1. 传递 -c 标志以显示进程命令名称而不是参数,使进程列表更易读。

  2. 设置更新之间的延迟间隔(秒)。例如,5 秒。

  3. 监控特定的进程 ID。例如,12345678

  4. 运行 top 命令,在退出前执行特定次数的迭代。例如,10 次迭代。

  5. 以批处理模式运行 top 命令,并将界面的输出转发到文件,如 top_output.txt

$ top -b -n 1 > top_output.txt
  1. 显示特定用户的进程。将 username 替换为目标用户。

  2. 忽略并隐藏 top 界面中的空闲和僵尸进程。

  3. 按内存使用量降序排序进程。

  4. 显示单独的线程。

第六步:交互式使用 top 命令

使用以下选项自定义 top 命令界面以查看和管理进程:

描述
h显示关于 top 命令的帮助信息。
k使用其 PID 杀死进程。
q退出 top 界面并返回命令行。
z切换颜色/单色模式。
r通过指定其 PID 和新优先级值来调整进程的优先级。
u通过特定用户过滤进程。
P通过 CPU 使用率对进程进行排序。
M通过内存使用率对进程进行排序。
T通过运行时间对进程进行排序。
c切换显示命令行。
1切换显示单个 CPU 状态。

第七步:使用高级 Linux top 命令选项

Linux top 命令支持更多高级选项以自定义输出,如下所示:

  1. 运行 top 在安全模式下隐藏或掩蔽某些信息。例如,隐藏每个进程的命令。

  2. V 键在 top 界面中查看进程的树状结构。

  3. Z 键在键盘上修改显示颜色。

按照以下步骤进行额外的自定义和颜色选择。

  • Z 访问颜色设置页面。

  • 按以下任一键修改目标显示字段的颜色:

    • S: 摘要数据区域。
    • M: 消息和提示区域。
    • H: 标题列。
    • T: 进程列表中任务的信息。
  • 选择要应用在显示字段上的目标颜色:

    • 0 = 黑色
    • 1 = 红色
    • 2 = 绿色
    • 3 = 黄色
    • 4 = 蓝色
    • 5 = 品红色
    • 6 = 青色
    • 7 = 白色

Enter 确认您的选择并应用更改到您的 top 界面。

  1. 使用以下键自定义 top 命令界面:
  • f: 显示 top 配置屏幕以切换列的开或关
  • Up + Down 浏览配置列表。
  • Space + d: 选择或取消选择列。
  1. 运行 top 命令并按 P 监控并按 CPU 使用率排序进程。

  2. 运行 top 命令并按 M 查找内存占用大的进程并按内存使用率排序。

  3. 运行 top 命令,按 K 并输入信号,使用 PID 杀死进程。

结尾

你已经使用 top 命令在 Linux 中监控系统进程。top 命令是一个强大的工具,用于监控系统性能和管理实时活动进程。使用这个工具来管理、排查问题,并识别你服务器中的性能瓶颈。更多信息,请运行 man top 命令。

op命令并按P` 监控并按 CPU 使用率排序进程。

  1. 运行 top 命令并按 M 查找内存占用大的进程并按内存使用率排序。

  2. 运行 top 命令,按 K 并输入信号,使用 PID 杀死进程。

结尾

你已经使用 top 命令在 Linux 中监控系统进程。top 命令是一个强大的工具,用于监控系统性能和管理实时活动进程。使用这个工具来管理、排查问题,并识别你服务器中的性能瓶颈。更多信息,请运行 man top 命令。

雨云 - 新一代云服务提供商: https://www.rainyun.com/NTY5MTk3_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值