Linux中top命令参数详解

article/2025/10/21 14:39:19

top命令用法

top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

top的使用方式 top [-d number] | top [-bnp]

参数解释:

-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。

在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):

?:显示在top当中可以输入的命令 P:以CPU的使用资源排序显示 M:以内存的使用资源排序显示 N:以pid排序显示 T:由进程使用的时间累计排序显示 k:给某一个pid一个信号。可以用来杀死进程 r:给某个pid重新定制一个nice值(即优先级) q:退出top(用ctrl+c也可以退出top)。

top各输出参数含义

下面是使用top命令来进行性能检测的截图:

图一(ubuntu):

图二(centos):

一、top前5行统计信息

第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30 
第1行是任务队列信息,其参数如下:

内容含义
05:43:27表示当前时间
up 4:52系统运行时间 格式为时:分
2 users当前登录用户数
load average: 0.58, 0.41, 0.30系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。 

第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie 
第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st 
第2、3行为进程和CPU的信息 
当有多个CPU时,这些内容可能会超过两行,其参数如下:

内容含义
159 total进程总数
1 running正在运行的进程数
158 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
37.0 us用户空间占用CPU百分比
3.7 sy内核空间占用CPU百分比
0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比
59.3 id空闲CPU百分比
0.0 wa等待输入输出的CPU时间百分比
0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
0.0 si软中断(Software Interrupts)占用CPU的百分比
0.0 st 


第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers 
第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem 
第4、5行为内存信息 
其参数如下:

内容含义
KiB Mem: 1530752 total物理内存总量
1481968 used使用的物理内存总量
48784 free空闲内存总量
70988 buffers(buff/cache)用作内核缓存的内存量
KiB Swap: 3905532 total交换区总量
267544 used使用的交换区总量
3637988 free空闲交换区总量
617312 cached Mem缓冲的交换区总量。
3156100 avail Mem代表可用于进程下一次分配的物理内存数量

上述最后提到的缓冲的交换区总量,这里解释一下,所谓缓冲的交换区总量,即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。 

计算可用内存数有一个近似的公式: 
第四行的free + 第四行的buffers + 第五行的cached

二、进程信息

列名含义
PID进程id
PPID父进程id
RUSERReal user name
UID进程所有者的用户id
USER进程所有者的用户名
GROUP进程所有者的组名
TTY启动进程的终端名。不是从终端启动的进程则显示为 ?
PR优先级
NInice值。负值表示高优先级,正值表示低优先级
P最后使用的CPU,仅在多CPU环境下有意义
%CPU上次更新到现在的CPU时间占用百分比
TIME进程使用的CPU时间总计,单位秒
TIME+进程使用的CPU时间总计,单位1/100秒
%MEM进程使用的物理内存百分比
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP进程使用的虚拟内存中,被换出的大小,单位kb
RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE可执行代码占用的物理内存大小,单位kb
DATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR共享内存大小,单位kb
nFLT页面错误次数
nDRT最后一次写入到现在,被修改过的页面数。
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
COMMAND命令名/命令行
WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
Flags任务标志

其他

默认进入top时,各进程是按照CPU的占用量来排序的。

1、在top基本视图中,按键盘数字“1”可以监控每个逻辑CPU的状况: 

 
2、敲击键盘‘b’(打开关闭加亮效果)top视图变换如下: 

PID为16283为当前top视图中唯一的运行态进程。也可以敲击键盘‘y’来打开或者关闭运行态进程的加亮效果。

3、敲击键盘‘x’(打开/关闭排序列的加亮效果),top视图变换如下: 

可以看到现在是按"%CPU"进行排序的,可以按”shift+>”或者”shift+<”左右改变排序序列。

4、改变进程显示字段

在top基本视图中,敲击”f”进入另一个视图,在这里可以编辑基本视图中的显示字段:

 

用上下键选择选项,按下空格键可以决定是否在基本视图中显示这个选项。

top命令是一个非常强大的功能,但是它监控的最小单位是进程,如果想监控更小单位时,就需要用到ps或者netstate命令来满足我们的要求。

参考文献

1、https://blog.csdn.net/quiet_girl/article/details/50668126

2、http://www.zhimengzhe.com/linux/298422.html


http://chatgpt.dhexx.cn/article/UlISoH9Q.shtml

相关文章

linux 命令:top 详解

注&#xff1a;以下文档根据2019年10月的官方文档翻译。 名称&#xff1a;top - 展示linux进程信息 用法&#xff1a;top -hv|-bcEHiOSs1 -d secs -n max -u|U user -p pid -o fld -w [cols] 在top进程运行过程中&#xff0c;两个最重要的功能是查看帮助&#xff08;h 或 &…

Topshelf 搭建 Windows 服务

C# Topshelf 搭建 Windows 服务 Topshelf 是一个用来部署基于.NET Framework 开发的服务的框架。简化服务创建于部署过程&#xff0c;并且支持控制台应用程序部署为服务。本文基于 .net core 控制台应用程序部署为服务&#xff08;.net Framework 可用&#xff09;。 第一步&…

TOP命令详解

TOP命令详解 top命令经常用来监控linux的系统状况&#xff0c;是常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用情况。 top的使用方式 top [-d number] | top [-bnp]参数解释&#xff1a; -d&#xff1a;number代表秒数&#xff0c;表示top命令显示的页…

【转】Topshelf入门

windows服务用处多多啊&#xff0c;wcf宿主服务、webapi宿主服务、定时任务等都会用到&#xff0c;最近写的一套呼叫中心&#xff0c;也最终要做成windows服务&#xff0c;以前都是用vs里面自带的windows服务来写&#xff0c;但感觉总是不够方便&#xff0c;最近了解到了topshe…

使用Topshelf创建Windows服务

概述 Topshelf是创建Windows服务的另一种方法&#xff0c;老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的介绍使用使用Topshelf创建Windows 服务。Topshelf是一个开源的跨平台的宿主服务框架&#xff0c;支持Windows和Mono&#xff0…

QT编程入门之QT designer

1.qt 编程的工作流程简介 使用QT作为GUI开发工具的项目流程&#xff0c;可用下图表示&#xff1a; QT项目开发流程 开发流程的解析&#xff1a;假设用QDesigner设计了一个X.UI窗口&#xff0c;之后就需要使用uic来进行编译&#xff0c;生成对应的.h文件.另外一个自定义的类型…

Qt入门学习——Qt Creator 中 ui 文件和 Qt 代码关系

通过《Qt Creator的使用》的学习&#xff0c;我们可以借助 Designer&#xff08;界面设计器&#xff09;快速设计界面。 此例子 ui 内容如下&#xff08;只是简单添加了一个按钮&#xff09;&#xff1a; 工程的代码目录结构如下&#xff1a; 最终在工程所在目录会生成一个 ui …

Qt 设计师 - Qt Designer 调整 控件 居中

目录 问题方案 问题 在上面这张图中&#xff0c;有三个垂直布局&#xff0c;但是垂直布局中上层的控件没办法拖到居中的位置。 方案 点击这个控件&#xff0c;右键 这里2是水平居中&#xff0c;下面的是垂直居中&#xff0c;操作三次&#xff0c;好了

使用Qt Designer和Qss设计Qt界面

开发界面其实一点都不比写后台逻辑简单&#xff0c;后台逻辑对需求方来说只有能用和不能用&#xff0c;但是界面没有一个确切的标准说好看还是不好看&#xff0c;所以设计出一个大家都说好的界面真的很难。 我们的业务是服务于内部用户的&#xff0c;其实大家对我们的评价就是…

Qt Designer和Qt Creator区别

不管是Qt新手还是开发过qt的群体来说&#xff0c;对Qt Designer、Qt Quick Designer、Qt Creator这几个应用程序肯定是熟悉的&#xff0c;但是你要是说具体的区别&#xff0c;干啥用的或者是它们实际上是单独的事物还是同一事物的名称&#xff0c;或者还是名称随时间变化了还是…

Qt Designer的简单使用

在前面两节的例子中&#xff0c;主界面窗口的尺寸和标签控件显示的矩形区域等&#xff0c;都是用 C 代码编写的。窗口和控件的尺寸都是预估的&#xff0c;控件如果多起来&#xff0c;那就不好估计每个控件合适的位置和大小了。 用 C 代码编写图形界面的问题就是不直观&#xf…

Qt Design Studio

1 介绍 1.1 概述 1.2 Qt Design Studio的详细特性 QtPhotoshop Bridge 在Photoshop中创建您的UI设计和UI组件&#xff0c;然后把它们导入到Qt Design Studio中。这包含一个先进的Photoshop插件&#xff0c;它能把您的设计翻译成QML语言&#xff0c;并导入到Qt Design Studio…

PyQt5利用Qt designer(QT设计师)使用tab widget和stacked widget实现多页面切换

PyQt5 Qt designer QT设计师 使用tab widget和stacked widget实现多页面切换 一、使用Qt designer(QT设计师)进行多页面切换ui设计二、实现tab widget多页面切换三、实现stacked widget多页面切换四、生成代码五、运行效果 一、使用Qt designer(QT设计师)进行多页面切换ui设计 …

Qt漂亮界面

Qt漂亮界面 功能规划&#xff1a;一、去掉菜单栏和工具栏二、顶部导航栏的设计appinit.h头文件appinit.cpp的文件使用方式&#xff1a; 三、阵列按钮的点击事件写法四、重写缩写界面、放大界面和关闭程序事件五、鼠标事件的处理Qt大量同类控件的操作正则表达式的设计Qt 手把手教…

PyQt5 Qt Designer 新手教程(一)—— 软件界面介绍

PyQt5 Qt Designer 新手教程&#xff08;一&#xff09;—— 软件界面介绍 教程博文 一、前言 终于学到了 PyQt5 Qt 设计师&#xff08;Qt Designer&#xff09;这个软件&#xff0c;博主感觉心情还是很激动的。因为&#xff0c;当初学 PyQt5 &#xff0c;想要设计一个窗体时…

qt界面设计

设计界面时大概可以分三步&#xff1a; 构造出需要的所有控件通过布局管理器确定控件位置通过样式表优化控件样式 1.布局管理器 1. QBoxLayoutQHBoxLayout 水平布局QVBoxLayout 垂直布局1&#xff09;setStretch 设置部件的拉伸系数2&#xff09;setSpacing 设置部…

QTDesigner简介

1、QTDesigner简介&#xff1a; 手写代码工作量大、代码结构容易搞得混乱。 设计工具&#xff1a;直观、高效&#xff0c;工作量小&#xff0c;方便调试。界面和逻辑分离后期好维护。 介绍&#xff1a;&#xff08;实现了视图和逻辑的分离&#xff0c;开发代码更容易分离&…

PyQt5:使用QT设计师设计界面

一. 界面设计 登录预览&#xff1a; 图1.1 设计界面 界面文件 可以在这里下载login.ui文件 资源文件 除了ui文件&#xff0c;有时候需要使用到资源&#xff1a; 图片资源 窗体图标(login.png): .qrc文件 可以在这里下载.qrc文件&#xff0c;文件内容如下&#xff1…

Python PyQt5 Qt Designer (Qt设计师)

PyQt5 Qt Designer (Qt设计师) 本文由 Luzhuo 编写,转发请保留该信息. 原文: https://blog.csdn.net/Rozol/article/details/87705426 PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发. Qt是强大的GUI库之一, 用C开发, 并且跨平台. PyQt双许可证, 要么选择GPL(自由软…

Qt Designer简介

来源 http://www.python3.vip/tut/py/gui/qt_03/ 回顾 在前面的程序中&#xff0c;我们学习了怎么样用程序来把QT程序界面的 一个个窗口、控件创建出来 问题分析 QT程序界面的 一个个窗口、控件&#xff0c;就是像上面那样用相应的代码创建出来的。 但是&#xff0c;把你…