linux top命令详解

Linux top命令详解

简介

top 命令是 Linux 下用于实时监视系统的命令。它能动态地实时显示进程的资源占用情况,包括 CPU 占用率、内存使用、进程、线程等信息。

语法

top 命令的语法格式如下:

top [-] [d delay] [-n iterations] [-b] [-c] [-u username] [p pid]

参数说明:
- -d 为刷新周期,默认值是 3 秒
- -n 为显示的次数
- -b 为批量模式,可以配合重定向符输出到文件
- -c 为显示完整的进程命令(包含命令行参数)
- -u 指定用户
- -p 指定进程PID

使用示例

示例1

使用 top 命令查看系统中 CPU 和内存最占用的进程,按下键盘上的 M ,可以将进程按内存使用量排序。

top -o %MEM

输出结果:

top - 20:07:56 up 12 days, 1:56,  2 users,  load average: 0.09, 0.08, 0.09
Tasks: 205 total,   1 running, 204 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3951.2 total,    307.0 free,   2555.7 used,   1088.5 buff/cache
MiB Swap:   2048.0 total,   1979.0 free,     69.0 used.   1168.2 avail Mem   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
24771 zhangsan  20   0 27.990g 1.720g  17880 S   0.0   43.6  48:34.82 java
30355 lisi      20   0 14.596g 1.206g  14740 S   0.0   30.4  29:41.31 java

命令解释:
- -o %MEM 表示按进程内存使用率排序
- %CPU 表示 CPU 占用率,%MEM 表示内存占用率,TIME+ 表示运行时间。
- PID USER 进程号和运行进程的用户。
- VIRT 表示进程的虚拟内存使用量。
- RES 表示进程占用的物理内存大小。
- COMMAND 表示进程所对应的命令的名称。

示例2

使用 top 命令查看系统中运行最长的进程:

top -o time

输出结果:

top - 20:51:43 up 12 days,  2:40,  2 users,  load average: 0.05, 0.05, 0.05
Tasks: 205 total,   1 running, 204 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3951.2 total,    313.3 free,   2549.4 used,   1088.5 buff/cache
MiB Swap:   2048.0 total,   1977.0 free,     71.0 used.   1164.5 avail Mem    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1830 root      20   0 2283664 1.170g   8784 S   8.6   30.0 320:35.37 virtualbox

命令解释:
- -o time 表示按进程运行时间排序
- COMMAND 表示进程所对应的命令的名称。
- PID USER 进程号和运行进程的用户。
- %CPU 表示 CPU 占用率,%MEM 表示内存占用率,TIME+ 表示运行时间。

总结

top 命令是一个非常实用的命令,可以帮助我们更好地了解系统的运行情况。通过本文的介绍,相信大家已经能够对 top 命令有一个更加深入的了解了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux top命令详解 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • sql高级技巧几个有用的Sql语句

    针对”SQL高级技巧几个有用的SQL语句”这一话题,我们可以从以下几个方面进行讲解: 一、SQL高级技巧概述 在SQL中,我们经常会用到SELECT、UPDATE、DELETE等基本的SQL语句,但是除了这些基础的语句,SQL还有很多高级的用法,如多表关联、数据分组、子查询等等。这些技巧的应用可以让我们更加高效地完成数据处理和分析任务。 二、几个有用的SQL…

    database 2023年5月21日
    00
  • 一篇文章带你了解清楚Mysql 锁

    一篇文章带你了解清楚Mysql 锁 什么是锁 在多线程并发操作一个资源时,为了保证操作的正确性,需要对资源进行加锁控制。锁是用来保证共享数据或共享资源在多线程或多进程中能够安全访问的一种机制。在 MySQL 中,锁是在查询过程中对数据进行加锁以保证数据的一致性。 锁的分类 MySQL 中锁的分类有多种,这里简单介绍一下 InnoDB 中的三种锁:共享锁、排他…

    database 2023年5月22日
    00
  • java SpringBoot项目整合Redis的方法是什么

    这篇文章主要介绍了java SpringBoot项目整合Redis的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java SpringBoot项目整合Redis的方法是什么文章都会有所收获,下面我们一起来看看吧。 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库. Redis …

    2023年4月10日
    00
  • SpringBoot中Mybatis + Druid 数据访问的详细过程

    下面是SpringBoot中Mybatis + Druid数据访问的详细步骤: 1. 添加依赖 在pom.xml文件中引入Mybatis和Druid的依赖,如下: <dependencies> <!– Mybatis依赖 –> <dependency> <groupId>org.mybatis.spring…

    database 2023年5月21日
    00
  • SQL中Truncate的用法

    当需要清空表并且重置自动递增ID时,我们可以使用SQL中的Truncate命令。Truncate与DELETE操作非常相似,但是具有更高的效率。因为它不会记录删除行的操作日志,并且仅将表截断到指定的位置,因此它会更快地执行表清空操作。 语法 TRUNCATE TABLE table_name; 在这个语法中,table_name是要清空的表名。 示例 1 如…

    database 2023年5月21日
    00
  • CI框架出现mysql数据库连接资源无法释放的解决方法

    下面是详细讲解“CI框架出现mysql数据库连接资源无法释放的解决方法”的完整攻略。 根本原因分析 在CI框架中,如果不手动关闭数据库连接的话,连接会一直保持,不会自动关闭,这就会导致出现mysql数据库连接资源无法释放的问题。 解决方法 解决这个问题的方法,是手动关闭数据库连接,释放连接资源。我们可以通过在CI的model文件中,覆盖父类的数据库连接关闭方…

    database 2023年5月19日
    00
  • Android SQLite数据库进行查询优化的方法

    以下是关于“Android SQLite数据库进行查询优化的方法”的完整攻略: 1.简介 SQLite是一种轻量级的关系型数据库,通常在Android开发中被广泛使用。SQLite提供了一些方法,可以优化数据库查询的性能,这对于需要快速处理大量数据的应用程序尤为重要。本文将介绍如何通过索引和WHERE子句来优化SQLite数据库查询。 2.使用索引优化SQL…

    database 2023年5月19日
    00
  • 详解GaussDB(DWS) explain分布式执行计划的示例

    首先需要了解GaussDB(DWS)是什么,它是一个分布式数据库系统,支持海量数据存储和高性能的OLAP业务处理。而explain分布式执行计划则是GaussDB(DWS)中的一个关键功能,它可以帮助用户更好地了解和优化查询执行计划。 下面是一个详细的攻略,来帮助大家了解如何使用explain分布式执行计划来分析查询执行计划。 1. 确认数据库版本和参数设置…

    database 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部