linux中top、htop监控工具命令详解

文章目录

  • top 命令概述
  • 如何使用 top 命令
  • top 命令输出解释
  • 各部分解释
    • 系统信息
    • 任务信息
    • CPU 使用信息
    • 内存使用信息
      • 进程信息
  • top 命令的常用交互操作
  • top 命令的常用选项
  • 查看每个CPU使用情况
    • 示例说明
      • 默认视图
      • 按下 1 键后的视图
    • 如何使用
  • htop和top之间比较
    • 用户界面和可用性
    • 功能和特性
    • 安装
    • 示例比较
    • 总结
  • 小结

top 命令概述

top 命令是 Unix 和 Linux 系统中一个强大的监控工具,可以显示系统中运行的所有进程及其相关的实时信息。它的输出会动态更新,通常每隔几秒刷新一次。

如何使用 top 命令

在终端中输入 top 并按下回车键即可启动 top 命令:

top

top 命令输出解释

当你运行 top 命令时,会看到以下输出:

top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 user      20   0  195948  25284   4656 S   0.3  1.2   0:23.45 python3
 5678 user      20   0  101832   8464   1536 S   0.1  0.1   0:00.56 sshd
 9101 user      20   0   62912   3784   1200 R   0.0  0.1   0:00.01 top
...

各部分解释

系统信息

top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
  • 12:34:56:当前时间。
  • up 1 day, 3:23:系统运行时间(已运行 1 天 3 小时 23 分钟)。
  • 2 users:当前登录的用户数。
  • load average:系统的负载均衡(1 分钟、5 分钟和 15 分钟的平均负载)。

任务信息

Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
  • 123 total:总任务数。
  • 1 running:运行中的任务数。
  • 122 sleeping:休眠中的任务数。
  • 0 stopped:停止的任务数。
  • 0 zombie:僵尸任务数。

CPU 使用信息

%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
  • 1.0 us:用户空间占用的 CPU 百分比。
  • 0.5 sy:内核空间占用的 CPU 百分比。
  • 0.0 ni:改变过优先级的进程占用的 CPU 百分比。
  • 98.0 id:空闲 CPU 百分比。
  • 0.5 wa:等待 I/O 操作的 CPU 百分比。
  • 0.0 hi:硬件中断占用的 CPU 百分比。
  • 0.0 si:软件中断占用的 CPU 百分比。
  • 0.0 st:被偷取的 CPU 百分比(虚拟化环境中)。

内存使用信息

MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem
  • 7988.2 total:总内存(MiB)。
  • 1234.5 free:空闲内存(MiB)。
  • 2345.6 used:已用内存(MiB)。
  • 4408.1 buff/cache:缓存内存(MiB)。
  • 2048.0 total:总交换区(Swap,MiB)。
  • 2000.0 free:空闲交换区(MiB)。
  • 48.0 used:已用交换区(MiB)。
  • 5123.6 avail Mem:可用内存(MiB)。

进程信息

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 user      20   0  195948  25284   4656 S   0.3  1.2   0:23.45 python3
 5678 user      20   0  101832   8464   1536 S   0.1  0.1   0:00.56 sshd
 9101 user      20   0   62912   3784   1200 R   0.0  0.1   0:00.01 top
  • PID:进程 ID。
  • USER:进程所有者。
  • PR:优先级。
  • NI:nice 值(影响优先级)。
  • VIRT:虚拟内存使用量(KiB)。
  • RES:常驻内存使用量(KiB)。
  • SHR:共享内存使用量(KiB)。
  • S:进程状态(D=不可中断的休眠状态,R=运行,S=休眠,T=跟踪/停止,Z=僵尸进程)。
  • %CPU:进程使用的 CPU 百分比。
  • %MEM:进程使用的内存百分比。
  • TIME+:进程启动以来的累计 CPU 时间。
  • COMMAND:启动进程的命令。

top 命令的常用交互操作

在运行 top 时,你可以使用以下键盘快捷键进行交互操作:

  • h:显示帮助。
  • q:退出 top。
  • z:切换颜色显示模式。
  • x:高亮显示排序列。
  • b:切换粗体显示。
  • M:按内存使用排序。
  • P:按 CPU 使用排序。
  • T:按累计时间排序。
  • k:终止一个进程(需要输入 PID)。
  • r:重新调整一个进程的优先级(需要输入 PID)。

top 命令的常用选项

你也可以在命令行中使用各种选项来启动 top 命令:

  • -b:以批处理模式运行,适合将输出重定向到文件或其他命令。
  • -n:指定更新的次数,通常与 -b 选项结合使用。
  • -d:指定刷新间隔时间(秒)。

例如,将 top 输出重定向到文件中:

top -b -n 1 > top_output.txt

查看每个CPU使用情况

在 top 命令运行过程中,按下数字键 1 会显示或隐藏每个 CPU 核心的使用情况。默认情况下,top 命令显示所有 CPU 核心的整体使用情况。如果按下 1 键,top 将切换为显示每个独立 CPU 核心的使用情况。

示例说明

默认视图

运行 top 命令后,你通常会看到如下所示的输出,这里显示的是所有 CPU 核心的综合使用情况:

top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem

按下 1 键后的视图

按下 1 键后,top 命令会显示每个独立 CPU 核心的使用情况,如下所示:

top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.5 us,  0.3 sy,  0.0 ni, 99.0 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  1.0 us,  0.5 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.8 us,  0.4 sy,  0.0 ni, 98.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  1.2 us,  0.6 sy,  0.0 ni, 98.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem

在这个视图中,每个 CPU 核心的使用情况都单独列出,使得你可以更详细地查看每个核心的负载情况。

如何使用

启动 top 命令:在终端中输入 top 并按下回车键。
按下 1 键:在 top 命令运行过程中,按下数字键 1,即可切换到显示每个独立 CPU 核心的使用情况。
再次按下 1 键:如果想恢复到默认视图,再次按下 1 键即可。

htop和top之间比较

htop 和 top 都是用于监控系统进程和资源使用情况的工具,但 htop 提供了更丰富的功能和更友好的用户界面。以下是 htop 和 top 的主要区别:

用户界面和可用性

top

  • 界面:top 使用简单的文本界面,默认情况下显示系统资源使用情况和进程列表。
  • 交互性:top 提供了一些基本的交互功能,如排序、终止进程和调整进程优先级等,但需要记住特定的键盘快捷键。
  • 信息显示:默认显示的列有限,需要手动配置才能显示更多信息。
    在这里插入图片描述

htop

  • 界面:htop 提供了更友好的用户界面,使用颜色和图形化条形图来表示 CPU、内存和交换空间的使用情况。
  • 交互性:htop 提供更丰富的交互功能,用户可以通过箭头键轻松导航和选择进程,支持鼠标操作。
  • 信息显示:默认显示更多有用的信息,用户可以方便地自定义显示列。
    在这里插入图片描述

功能和特性

top

  • 功能:top 提供了基本的进程监控和管理功能,如排序、过滤和终止进程。
  • 配置:可以通过命令行选项和交互式命令进行一些基本的配置,但不如 htop 直观。

htop

  • 功能:htop 提供了更多的高级功能,如:
    • 垂直和水平滚动:可以查看所有进程和完整的命令行参数。
    • 按树状结构显示进程:方便查看进程的父子关系。
    • 搜索功能:可以快速查找特定进程。
    • 高度可定制的界面:用户可以选择显示哪些列,以及列的顺序。
    • 快速终止或调整多个进程:使用快捷键或鼠标操作更为便捷。
  • 配置:支持用户配置文件,保存用户的偏好设置,启动时自动应用。

安装

top:通常预装在大多数 Unix/Linux 系统中。
htop:需要手动安装,可以通过包管理器进行安装,如:

sudo apt-get install htop   # Debian/Ubuntu
sudo yum install htop       # CentOS/RHEL
sudo dnf install htop       # Fedora
brew install htop           # macOS (Homebrew)

示例比较

top 示例界面

top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 user      20   0  195948  25284   4656 S   0.3  1.2   0:23.45 python3
 5678 user      20   0  101832   8464   1536 S   0.1  0.1   0:00.56 sshd
 9101 user      20   0   62912   3784   1200 R   0.0  0.1   0:00.01 top

htop 示例界面

  1  [||                                         1.0%]   Tasks: 123, 1 running
  2  [|||                                        2.0%]   Load average: 0.01 0.05 0.09
  3  [||                                         1.5%]   Uptime: 1 day, 3:23
  4  [|                                          0.5%]
Mem[ 2345/7988MB]  [|||||||||||||||||||||||||23.4%]
Swp[   48/2048MB]  [|                           2.3%]

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
 1234 user       20   0 195948 25284  4656 S  0.3  1.2  0:23.45 python3
 5678 user       20   0 101832  8464  1536 S  0.1  0.1  0:00.56 sshd
 9101 user       20   0  62912  3784  1200 R  0.0  0.1  0:00.01 htop

总结

  • 用户界面:htop 提供更直观和用户友好的界面,支持鼠标操作和颜色显示。
  • 功能性:htop 提供更多高级功能和更强的交互性,适合需要频繁监控和管理进程的用户。
  • 安装和配置:top 通常预装在系统中,htop 需要手动安装,但配置更灵活。

通过以上比较,你可以更好地理解 top 和 htop 的区别,并根据需要选择合适的工具进行系统监控和管理。

小结

top 命令是一个非常强大的工具,可以帮助系统管理员和开发人员监控系统性能、发现问题并进行优化。在你的博客中,可以通过示例和解释,帮助读者更好地理解和使用 top 命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/787366.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大话光学原理:2.最短时间原理、“魔法石”与彩虹

一、最短时间原理 1662年左右,费马在一张信纸的边角,用他那著名的潦草笔迹,随意地写下了一行字:“光在两点间选择的路,总是耗时最少的。”这句话,简单而深邃,像是一颗悄然种下的种子&#xff0c…

自动化测试之unittest框架详解

1、什么是Unittest框架? python自带一种单元测试框架 2、为什么使用UnitTest框架? >批量执行用例 >提供丰富的断言知识 >可以生成报告 3、核心要素 1).TestCase(测试用例) 2).TestSuite(测试套件) 3).Test…

关于Qt模型插入最后一行数据中存在未填满的项,点击导致崩溃的解决办法

在使用Qt模型视图框架的时候,你可能会遇见这种情况:给QTableView设置设置模型的时候,网模型里面插入数据,因为数据是一行一行插入的,即要使用model的appandRow函数,但有时候最后一行数据没有填满一行&#…

汇川CodeSysPLC教程03-2-14 与HMI通信

硬件连接 PLC与HMI连接采用何种连接方式,通常是参考双方支持哪些接口。PLC(可编程逻辑控制器)与HMI(人机界面)之间的通讯方式主要有以下几种: 串行通讯(Serial Communication)&…

Docker-compse的应用

1 docker-compose # 使用了docker 面临一个比较大的问题,如果一个djagno项目,使用mysql,redis,不要一次性把所有服务都放到一个容器中,每个服务一个容器,批量的管理多个容器,比较难以操作&…

第5章-组合序列类型

#全部是重点知识,必须会。 了解序列和索引|的相关概念 掌握序列的相关操作 掌握列表的相关操作 掌握元组的相关操作 掌握字典的相关操作 掌握集合的相关操作1,序列和索引 1,序列是一个用于存储多个值的连续空间,每一个值都对应一…

红酒的秘密配方:如何调配出个性化的口感?

在红酒的世界里,每一滴都蕴藏着大自然的秘密和酿酒师的匠心。那些令人陶醉的口感、迷人的色泽和香气,都是经过精心调配和时光酝酿的结果。今天,就让我们一起揭开红酒调配的神秘面纱,探索如何调配出个性化的口感,感受雷…

【LeetCode】生命游戏

目录 一、题目二、解法完整代码 一、题目 根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一…

Nacos2.X 配置中心源码分析:客户端如何拉取配置、服务端配置发布客户端监听机制

文章目录 Nacos配置中心源码总流程图NacosClient源码分析获取配置注册监听器 NacosServer源码分析配置dump配置发布 Nacos配置中心源码 总流程图 Nacos2.1.0源码分析在线流程图 源码的版本为2.1.0 ,并在配置了下面两个启动参数,一个表示单机启动&#…

源码编译安装 LAMP

源码编译安装 LAMP Apache 网站服务基础Apache 简介安装 httpd 服务器 httpd 服务器的基本配置Web 站点的部署过程httpd.conf 配置文件 构建虚拟 Web 主机基于域名的虚拟主机基于IP 地址、基于端口的虚拟主机 MySQL 的编译安装构建 PHP 运行环境安装PHP软件包设置 LAMP 组件环境…

数据挖掘——matplotlib

matplotlib概述 Mat指的是Matlab,plot指的是画图,lib即library,顾名思义,matplotlib是python专门用于开发2D图表的第三方库,使用之前需要下载该库,使用pip命令即可下载。 pip install matplotlib1、matpl…

Nuxt框架中内置组件详解及使用指南(四)

title: Nuxt框架中内置组件详解及使用指南(四) date: 2024/7/9 updated: 2024/7/9 author: cmdragon excerpt: 摘要:本文详细介绍了Nuxt 3框架中的两个内置组件:和的使用方法与示例。用于捕获并处理客户端错误,提供…

【漏洞复现】29网课交单平台 SQL注入

声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。 一、漏洞描述 29网课交单平台是一个在线学习平台,用于帮助学生完成网络课程的学习任务。这个平台提供了包括…

过滤器与拦截器区别、应用场景介绍

我们在进行 Web 应用开发时,时常需要对请求进行拦截或处理,故 Spring 为我们提供了过滤器和拦截器来应对这种情况。 那么两者之间有什么不同呢?本文将详细讲解两者的区别和对应的使用场景。 过滤器 过滤器是一种在 Java Web 应用中用于处理…

Celery,一个实时处理的 Python 分布式系统

大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 一个简单的库,也许能够开启我们的智慧之门, 一个普通的方法,也许能在危急时刻挽救我们于水深火热, 一个新颖的思维方式,也许能…

Start LoongArch64 Alpine Linux VM on x86_64

一、Build from source(build on x86_64) Obtain the latest libvirt, virt manager, and QEMU source code, compile and install them 1.1 Build libvirt from source sudo apt-get update sudo apt-get install augeas-tools bash-completion debhelper-compat dh-apparmo…

Python学习笔记33:进阶篇(二十二)pygame的使用之image模块

前言 基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。 我们的下一步目标是完成python crash course中的外星人入侵项目,这是一个2D游戏项目。在这之前&#xff…

Codeforces Round 954 (Div. 3) F. Non-academic Problem

思路&#xff1a;考虑缩点&#xff0c;因为是无向图&#xff0c;所以双连通分量缩完点后是一棵树&#xff0c;我们去枚举删除每一条树边的答案&#xff0c;然后取最小值即可。 #include <bits/stdc.h>using namespace std; const int N 3e5 5; typedef long long ll; …

Profibus转ModbusTCP网关模块实现Profibus_DP向ModbusTCP转换

Profibus和ModbusTCP是工业控制自动化常用的二种通信协议。Profibus是一种串口通信协议&#xff0c;它提供了迅速靠谱的数据传输和各种拓扑结构&#xff0c;如总线和星型构造。Profibus可以和感应器、执行器、PLC等各类设备进行通信。 ModbusTCP是一种基于TCP/IP协议的通信协议…

Clickhouse的联合索引

Clickhouse 有了单独的键索引&#xff0c;为什么还需要有联合索引呢&#xff1f;了解过mysql的兄弟们应该都知道这个事。 对sql比较熟悉的兄弟们估计看见这个联合索引心里大概有点数了&#xff0c;不过clickhouse的联合索引相比mysql的又有些不一样了&#xff0c;mysql 很遵循最…