linux top命令介绍以及使用

devtools/2024/10/18 14:18:04/

文章目录

  • 介绍 `top` 命令
    • 1. `top` 的基本功能
    • 2. 如何启动 `top`
    • 3. `top` 的输出解释
      • 系统概况
      • 任务和 CPU 使用情况
      • 内存和交换空间
      • 进程信息
    • 4. 常用操作
  • 总结
  • 查看逻辑CPU的个数
  • 查看系统运行时间


介绍 top 命令

top 是一个在类 Unix 系统中广泛使用的命令行工具,用于实时显示系统的资源使用情况。它提供了有关 CPU、内存、进程等的详细信息,使用户能够监控系统的性能和健康状态。以下是对 top 命令及其主要功能的详细介绍。

1. top 的基本功能

  • 实时监控: top 实时显示系统的资源使用情况,包括 CPU 和内存使用、任务状态等。
  • 动态更新: 输出信息会定期更新,默认每 3 秒刷新一次,但用户可以根据需要调整刷新频率。
  • 进程管理: top 列出了当前运行的进程,并提供了多种操作来管理这些进程,如排序、杀死进程等。

2. 如何启动 top

在终端中输入 top 并按回车,即可启动 top 命令。启动后,你将看到一个包含系统资源和进程信息的动态更新的界面。

3. top 的输出解释

top 命令的输出分为几个主要部分,每个部分提供不同类型的信息:

在这里插入图片描述

top - 14:11:32 up 1023 days, 23:10,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 118 total,   1 running, 116 sleeping,   0 stopped,   1 zombie
%Cpu(s):  3.2 us,  3.2 sy,  0.0 ni, 93.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3880184 total,   407804 free,   630472 used,  2841908 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  2950964 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                      1 root      20   0   52964   4000   2460 S   0.0  0.1 122:54.86 systemd                                                                      2 root      20   0       0      0      0 S   0.0  0.0   0:16.26 kthreadd                                                                     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                 6 root      20   0       0      0      0 S   0.0  0.0  56:48.31 ksoftirqd/07 root      rt   0       0      0      0 S   0.0  0.0  17:36.28 migration/0                                                                  8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                                       9 root      20   0       0      0      0 S   0.0  0.0 443:35.78 rcu_sched                                                                    10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain                                                                11 root      rt   0       0      0      0 S   0.0  0.0   3:37.92 watchdog/0                                                                   12 root      rt   0       0      0      0 S   0.0  0.0   3:07.31 watchdog/1                                                                   13 root      rt   0       0      0      0 S   0.0  0.0  17:39.39 migration/1                                                                  14 root      20   0       0      0      0 S   0.0  0.0  47:57.19 ksoftirqd/1                                                                  16 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H                                                                 18 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kdevtmpfs                                                           19 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 netns                                                                        20 root      20   0       0      0      0 S   0.0  0.0   0:23.32 khungtaskd                                                                   21 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 writeback                                                                    22 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kintegrityd                                                                  23 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 bioset

系统概况

top - 14:11:32 up 1023 days, 23:10,  2 users,  load average: 0.00, 0.01, 0.05
  • 当前时间 (14:11:32): 显示系统当前时间。
  • 系统运行时间 (up 1023 days, 23:10): 系统从上次启动以来的运行时间。
  • 登录用户数 (2 users): 当前系统中的登录用户数量。
  • 负载均衡 (load average: 0.00, 0.01, 0.05): 系统负载平均值,分别表示过去1分钟、5分钟和15分钟的平均负载。较低的负载表示系统负荷较轻。

任务和 CPU 使用情况

Tasks: 118 total,   1 running, 116 sleeping,   0 stopped,   1 zombie
%Cpu(s):  3.2 us,  3.2 sy,  0.0 ni, 93.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
  • 任务状态 (Tasks): 显示当前系统中的任务状态,包括总任务数、运行中的任务、休眠中的任务、停止的任务和僵尸任务数量。
  • CPU 使用情况 (%Cpu(s)): 显示 CPU 的使用情况,包括用户空间、系统空间、空闲、等待 I/O 操作、硬中断、软件中断等的占比。

内存和交换空间

KiB Mem :  3880184 total,   407804 free,   630472 used,  2841908 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  2950964 avail Mem
  • 内存使用情况 (KiB Mem): 显示系统内存的总量、已用量、空闲量以及缓冲区和缓存的占用量。
  • 交换空间使用情况 (KiB Swap): 显示系统交换空间的总量、已用量和空闲量。

进程信息

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND1 root      20   0   52964   4000   2460 S   0.0  0.1 122:54.86 systemd2 root      20   0       0      0      0 S   0.0  0.0   0:16.26 kthreadd4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
  • PID: 进程 ID。
  • USER: 启动进程的用户。
  • PR: 进程优先级。
  • NI: 进程的 nice 值(优先级调整)。
  • VIRT: 进程使用的虚拟内存总量。
  • RES: 进程实际使用的物理内存量。
  • SHR: 进程使用的共享内存量。
  • S: 进程状态(如运行中、休眠中、僵尸等)。
  • %CPU: 进程使用的 CPU 百分比。
  • %MEM: 进程使用的内存百分比。
  • TIME+: 进程使用的总 CPU 时间。
  • COMMAND: 启动进程的命令。

4. 常用操作

  • 排序: 按下 P 键可以按 CPU 使用率排序,按下 M 键可以按内存使用量排序。
  • 终止进程: 按下 k 键并输入进程 ID,可以终止指定的进程。
  • 刷新间隔: 按下 d 键并输入秒数,可以调整信息的刷新频率。

总结

top 命令是一个强大的系统监控工具,可以帮助用户实时查看系统资源使用情况、管理进程并诊断系统问题。通过理解 top 的输出,你可以更好地掌握系统的运行状态,进行性能优化和故障排查。

查看逻辑CPU的个数

cat /proc/cpuinfo| grep "processor"| wc -l

查看系统运行时间

cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'

http://www.ppmy.cn/devtools/109993.html

相关文章

【JavaWeb】JDBCDruidTomcat入门使用

本章使用技术版本: Tomcatv10.1.25 关于javaweb相关的其他技术,比如tomcat和maven,在我的主页记录了笔记,ajax我用的是本地笔记以后再考虑上传,前端三板斧我用的菜鸟教程文档 JDBC 初识 JDBC概念 JDBC 就是使用Jav…

k8s 存储(PV、PVC、SC、本地存储、NFS)

存储持久化相关三个概念: PersistentVolume (PV) 是对具体存储资源的描述,比如NFS、Ceph、GlusterFS等,通过PV可以访问到具体的存储资源;PersistentVolumeClaim (PVC) Pod想要使用具体的存储资源需要对接到PVC,PVC里会定义好Pod希望使用存储…

机器学习和物联网驱动技术在加工过程中监测工具磨损:一项全面的综述

这篇论文的标题是《Machine-Learning and Internet-of-Things-Driven Techniques for Monitoring Tool Wear in Machining Process: A Comprehensive Review》,由 Sudhan Kasiviswanathan、Sakthivel Gnanasekaran、Mohanraj Thangamuthu 和 Jegadeeshwaran Rakkiya…

hive时间函数

一、随机示例(想到哪里写哪里) 1.系统时间函数 查询 select current_timestamp --当前格式化时间,current_date --当前格式化日期,unix_timestamp() --当前unix时间戳 结果: 2.时间函数转换 查询 --将时间戳转化为格式化时间 sel…

python-新冠病毒

题目描述 假设我们掌握了特定时间段内特定城市的新冠病毒感染病例的信息。在排名 i 的当天有 i 个案例,即: 第一天有一例感染第二天有两例感染第三天有三例感染以此类推...... 请计算 n 天内的感染总数和每天平均感染数。 输入 整数 n 表示天数&…

【uni-app】通过 HBuilderX 创建 uni-app vue3项目

1.下载 HbuilderX 编辑器 访问 HBuilderX 的官网首页 https://www.dcloud.io/hbuilderx.html 点击首页的 DOWNLOAD 按钮 选择下载 正式版 -> App 开发版 2. 安装 HBuilderX 将下载的 zip包 进行解压缩 将解压之后的文件夹,存放到纯英文的目录中(且…

14. /#{} 和 /${} 的区别是什么?

在MyBatis中,#{}和${}是两种常见的占位符,它们的作用和使用场景有所不同。理解它们的区别对于正确使用MyBatis非常重要。 1. #{} 和 ${} 的基本区别 #{}:SQL参数占位符 作用:#{}用于将传入的参数安全地绑定到SQL语句中&#xff0c…

调度器怎么自己写?调度器在实现时需要注意哪些细节?请写一个jvm的调度器?如何在这个调度器中添加多个任务?

如果你想自己编写一个调度器,可以按照以下步骤进行: 一、确定需求和目标 明确调度器的应用场景,例如任务调度、资源分配、进程管理等。 确定调度的对象,比如任务、作业、进程等。 定义调度的目标,如最小化完成时间、最…