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日

相关文章

  • Redis的持久化方案详解

    下面是“Redis的持久化方案详解”完整攻略: 什么是Redis持久化? Redis是一款高性能的NoSQL数据库,它支持多种数据结构,例如字符串、哈希、列表、集合和有序集合等。Redis持久化指的是将存储在内存中的数据,通过某种方式保存到磁盘上,以保证数据的持久化存储。Redis提供了两种持久化方案:RDB和AOF。 Redis RDB持久化 RDB持久化…

    database 2023年5月21日
    00
  • mysql查询的控制语句图文详解

    MySQL 是一种常用的关系型数据库管理系统,提供了多种查询数据的控制语句,查询控制语句是 MySQL 最常用的功能之一。本文将详细讲解 “MySQL 查询的控制语句图文详解”,以帮助读者更好地掌握 MySQL 数据库查询的技能。 1. 查找表数据 可以使用以下命令来查找表中数据: SELECT columns FROM table_name WHERE c…

    database 2023年5月21日
    00
  • CentOS 8安装ZABBIX4.4的指南

    以下是详细讲解“CentOS 8安装ZABBIX4.4的指南”的完整攻略。 1. 前置条件 在开始安装ZABBIX之前,您需要满足以下前提条件: 在CentOS 8操作系统上具有sudo权限的访问。 已经配置并启用了EPEL存储库。 2. 安装MariaDB ZABBIX需要使用数据库存储其数据。在本教程中,我们将使用MariaDB,它是一个免费的且开源的关…

    database 2023年5月22日
    00
  • SQL语句中EXISTS的详细用法大全

    下面详细讲解一下“SQL语句中EXISTS的详细用法大全”: 什么是EXISTS? EXISTS是一个用于判断子查询是否返回数据的操作符号,如果子查询返回了至少一行数据,那么就会返回True,否则返回False。 EXISTS的语法 EXISTS的语法如下: SELECT column_name(s) FROM table_name WHERE EXISTS…

    database 2023年5月18日
    00
  • 简单实例解释Oracle分页查询

    简单实例解释Oracle分页查询 什么是分页查询 在处理大量数据时,一次性查询所有数据显然不是一个好的选择,因为这样的查询请求会占用太多的资源,而且在大多数情况下,用户仅需要查看部分数据。这时候我们可以使用分页查询来使查询更加高效。分页查询即是将数据划分成若干页,每页只显示少量数据,用户可以通过翻页的方式浏览所有数据。 Oracle分页查询示例 在Oracl…

    database 2023年5月21日
    00
  • 使用RestTemplate访问https实现SSL请求操作

    使用RestTemplate访问https实现SSL请求操作是非常常见的场景,本攻略将介绍如何使用RestTemplate实现这一功能。 准备工作 在进行RestTemplate访问https之前,我们需要准备以下环节:1. 证书:SSL通讯涉及到证书认证,因此我们需要将SSL证书下载至本地。可以联系网站管理员获取SSL证书。 安装SSL证书:下载完SSL证…

    database 2023年5月21日
    00
  • MySql8 WITH RECURSIVE递归查询父子集的方法

    当我们需要查询数据中某个节点的所有子节点或父节点时,使用递归查询是一种非常方便的解决方案。MySQL 8 提供了一个WITH RECURSIVE语法来实现递归查询。下面是递归查询父子集的完整攻略: 1. 建立测试数据库 为了演示示例,我们需要先建立一个测试数据库,并在该数据库中建立一个包含parent_id字段的表。 CREATE DATABASE test…

    database 2023年5月22日
    00
  • vue如何将对象中所有的key赋为空值

    下面是详细讲解“Vue如何将对象中所有的key赋为空值”的攻略: 一、使用Object.keys()和forEach或reduce 首先,使用Object.keys()获取该对象所有的key,返回一个数组。 然后,使用forEach或reduce(根据实际需求而定)遍历该数组,将对象中每个key的值赋为null或空字符串。 代码示例(使用forEach): …

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