Linux shell编程学习笔记62: top命令 linux下的任务管理器

0 前言

top命令是Unix 和 Linux下常用的性能分析工具,提供了一个动态的、交互式的实时视图,显示系统的整体性能信息,以及正在运行的进程的相关信息,包括各个进程的资源占用状况,类似于Windows的任务管理器。

1 top命令 格式、选项和操作

1.1 top命令 格式 

[purpleendurer @ bash ~] top --help
top: inappropriate '-help'
Usage:top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
[purpleendurer @ bash ~] 

top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

 1.2 top命令选项

选项功能
-b以批处理(batch)模式运行,直接将结果输出到文件。
-c显示完整的命令行而不截断。
-d <秒数>指定 top 命令的刷新时间间隔,单位为秒。
-H在进程信息中显示线程详细信息。
-i不显示闲置(idle)或无用的进程。
-n <次数>指定 top 命令运行的次数后自动退出。
-p <进程ID>仅显示指定进程ID的信息。
-S累计显示进程的 CPU 使用时间。

-u <用户名>

-U <用户名>

仅显示指定用户名的进程信息。

1.3 top命令操作说明

top命令提供了动态的、交互式的实时视图,可以进行以下操作:

操作说明
Ctrl+L擦除并且重写屏幕
K

终止一个进程。

系统将提示用户输入需要终止的进程PID,以及需要给该进程发送什么样的信号。

默认值是信号15。一般的终止进程可以使用15信号。如果不能正常结束那就使用信号9强制结束该进程。

在安全模式中此命令被屏蔽。

i忽略闲置和僵死进程。这是一个开关式命令。
q退出程序
r

重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。

输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

S切换到累计模式。
s

改变两次刷新之间的延迟时间。

系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。

输入0值则系统将不断刷新,默认值是5 s。

需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

f或者F从当前显示中添加或者删除项目。
o或者O改变显示项目的顺序
l切换显示平均负载和启动时间信息。
m切换显示内存信息。
t切换显示进程和CPU状态信息。
c切换显示命令名称和完整命令行。
M根据驻留内存大小进行排序。
P根据CPU使用百分比大小进行排序。
T根据时间/累计时间进行排序。
W将当前设置写入~/.toprc文件中。

2 top命令实例

top - 23:49:06 up 3 min,  0 users,  load average: 0.01, 0.03, 0.00
Tasks:   5 total,   1 running,   4 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.2 hi,  0.0 si,  0.0 st
KiB Mem :  3855948 total,  2028368 free,   257300 used,  1570280 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  3350552 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                        1 csdn      20   0   40356   5120   3748 S   0.0  0.1   0:00.19 zsh                                                                                            46 csdn      20   0   40156   5112   3844 S   0.0  0.1   0:00.03 zsh                                                                                            72 csdn      20   0   40156   5024   3780 S   0.0  0.1   0:00.03 zsh                                                                                            100 csdn      20   0   15124   3540   3124 S   0.0  0.1   0:00.00 bash                                                                                           114 csdn      20   0   59472   4176   3640 R   0.0  0.1   0:00.00 top                          

显示的信息比较丰富,我们逐行分析说明。

第一行:系统当前状态

1.系统时间:23:48:30

2.运行时间:up 3 min,

3.当前登录用户:0  users

4.负载均衡(uptime)  load average: 0.01, 0.03, 0.00

     average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

     load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。

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

备注:第一行信息内容 同 uptime 命令的执行结果相同

第二行:任务(进程)队列信息 Tasks

1.总进程数量    :5 total

2.运行进程数量:1 running

3.休眠进程数量:4 sleeping

4.停止进程数量:0 stopped

5.僵尸进程数量:0 zombie

 第三行:cpu状态信息 %Cpu(s)

1.用户空间占用CPU的百分比(user space)                     :0.8% us

2.内核空间占用CPU的百分比(sysctl)                              :0.2% sy

3.改变过优先级的进程占用CPU的百分比( nice)              :0.0% ni

4.空闲CPU百分比(idolt)                                                   :99.0% id

5.IO等待占用CPU的百分比(wait)                                     :0.0% wa

6.硬中断占用CPU的百分比(Hardware IRQ)                     :0.0% hi

7.软中断占用CPU的百分比(Software Interrupts)              :0.0% si

8.被虚拟化程序偷取的 CPU 时间百分比(steal)                 :0.0 st

第四行:内存状态 KiB Mem

1.内存总量         :3855948 total

2.未用内存数量  :2028368 free

3.已用内存数量  :257300 used

4.缓存的内存量  :1570280 buff/cache

 第五行:交换分区信息 swap

1.总量       :0 total

2.未用       :0 free

3.已用       :0 used

4.利用内存:3350552 avail Mem

第六行:空行

第七行以下:各进程(任务)的状态监控

1.PID: 进程id
2.USER : 进程所有者
3.PR : 进程优先级
4. NI:nice值。负值表示高优先级,正值表示低优先级
5.VIRT(virtual memory usage 虚拟内存):进程使用的虚拟内存总量,包括进程使用的代码(code)、数据(data)、共享库(shared libraries),以及被换出(swap out)到交换区和映射了(map)但尚未使用(未载入实体内存)的部分等,单位kb。

       VIRT=SWAP+RES
6.RES(resident memory usage 常驻内存):进程使用的、未被换出的物理内存大小,单位kb。

       RES=CODE+DATA
7.SHR(shared memory 共享内存:共享内存大小,单位kb
8.S:进程状态。

        D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
9.%CPU :上次更新到现在的CPU时间占用百分比
10.%MEM:进程使用的物理内存百分比
11.TIME+ :进程使用的CPU时间总计,单位1/100秒
12. COMMAND:进程运行的命令(命令名/命令行)

注:计算某个进程所占的物理内存大小公式:RES – SHR 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙:1.入门

概述 简介 鸿蒙操作系统&#xff08;HarmonyOS&#xff09;是华为公司发布的一款智能终端系统&#xff0c;是基于微内核的面向全场景的分布式操作系统。它致力于提供更加安全、高效、低延迟、低功耗的操作体验&#xff0c;可通过技术手段对应用程序和设备进行智能协同&#xf…

mac鼠标键盘共享:ShareMouse for Mac 激活版

hareMouse 是一款 Windows 和 macOS 操作系统上的共享和切换鼠标和键盘的实用工具。这款软件允许用户在多台计算机之间无缝地共享鼠标和键盘&#xff0c;使得在不同设备之间进行工作和操作变得更加便捷。占用资源少&#xff1a; ShareMouse 设计轻量&#xff0c;占用系统资源较…

JVM原理(十五):JVM虚拟机静态分配与动态分配

1. 分派 本节讲解的分派调用过程将会揭示多态性特征的一-些最基本的体现&#xff0c;如“重载”和“重写”在Java虚拟机之中是如何实现的。 1.1. 静态分派 案例&#xff1a; 我们先来看一段代码: Human mannew Man(); 我们把上面代码中的“Human"称为变量的“静态类型…

alibabacloud学习笔记10

讲解微服务链路追踪系统的作用 讲解什么Sleuth链路追踪系统 注释掉我们的网关过滤器。 注释掉断言。 网关服务&#xff0c;视频服务&#xff0c;订单服务&#xff0c;我们都给这段依赖添加进来。 调用一个请求。 我们可以看到控制台上会有输出。 讲解zipkin介绍和部署实战 访问…

Vite: 实现 no-bundle 开发服务 (2)

概述 基于前文 Vite: 实现 no-bundle 开发服务 (1) 我们基于下面的导图继续实现 no-bundle 构建服务 接下来我们需要完成如下的模块: CSS 编译插件静态资源加载插件模块依赖图开发&#xff0c;并在 transform 中间件中接入HMR 服务端代码开发HMR 客户端代码开发 CSS 编译插件…

泰国内部安全行动司令部数据泄露

BreachForums 论坛的一名成员宣布发生一起重大数据泄露事件&#xff0c;涉及泰国内部安全行动司令部 (ISOC)&#xff0c;该机构被称为泰国皇家武装部队的政治部门。 目前&#xff0c;我们无法准确确认此次泄露的真实性&#xff0c;因为该组织尚未在其网站上发布有关该事件的任…

数据库管理-第217期 Oracle的高可用-02(20240704)

数据库管理217期 2024-07-04 数据库管理-第217期 Oracle的高可用-02&#xff08;20240704&#xff09;1 GDS简介2 GDS架构2.1 全局数据服务池2.2 全局数据服务域2.3 全局服务管理2.4 全局数据服务目录2.5 Oracle通知服务 3 GDS简图3.1 负载均衡3.2 只读服务失败转移3.3 多主复制…

项目基础知识

1.JDBC编程和MySQL数据库 数据库的连接&#xff08;以前写qq项目时的代码&#xff09; package com.wu.Util; import java.sql.*; public class JDBCUtil {private static JDBCUtil jdbcUtil null;private JDBCUtil() {}public static JDBCUtil getJdbcUtil() {if (jdbcUtil…

剧本杀小程序:助力商家发展,提高游戏体验

近几年&#xff0c;剧本杀游戏已经成为了当下年轻人娱乐的游戏社交方式。与其他游戏相比&#xff0c;剧本杀游戏具有强大的社交性&#xff0c;玩家在游戏中既可以推理玩游戏&#xff0c;也可以与其他玩家交流互动&#xff0c;提高玩家的游戏体验感。 随着互联网的发展&#xf…

Vue通过Key管理状态

Vue通过Key管理状态 Vue 默认按照“就地更新”的策略来更新&#xff0c;通过 v-for 渲染的元素列表。当数据项的顺序改变时&#xff0c;Vue 不会随之移动 DOM 元素的顺序&#xff0c;而是就地更新每个元素&#xff0c;确保它们在原本指定的索引位置上渲染。为了给 Vue 一个提示…

VIO(Virtual_Input_Output) IP 使用笔记

VIO&#xff08;Virtual Input/Output&#xff09;IP 核&#xff0c;即虚拟输入输出 IP&#xff0c;可以通过调试界面模拟 IO 的变化&#xff0c;这可以在板子没有按键等外设、或外设不足的情况下&#xff0c;来模拟外部输入。然而网上关于 VIO 的教程都说的不是很清楚&#xf…

html高级篇

1.2D转换 转换&#xff08;transform&#xff09;你可以简单理解为变形 移动&#xff1a;translate 旋转&#xff1a;rotate 缩放&#xff1a;sCale 移动&#xff1a;translate 1.移动具体值 /* 移动盒子的位置&#xff1a; 定位 盒子的外边距 2d转换移动 */div {width…

【python】OpenCV—Nighttime Low Illumination Image Enhancement

文章目录 1 背景介绍2 代码实现3 原理分析4 效果展示5 附录np.ndindexnumpy.ravelnumpy.argsortcv2.detailEnhancecv2.edgePreservingFilter 1 背景介绍 学习参考来自&#xff1a;OpenCV基础&#xff08;24&#xff09;改善夜间图像的照明 源码&#xff1a; 链接&#xff1a…

Linux 文件系统以及日志管理

一、inode 与block 1. inode 与block详解 在文件存储硬盘上&#xff0c;硬盘的最小存储单位叫做“扇区”&#xff0c;每个为512字节。 操作系统读取硬盘的时候&#xff0c;不会一个个扇区地读取&#xff0c;这样效率太低&#xff0c;而是一次性连续读取多个扇区,即一次性读取…

PyMuPDF 操作手册 - 09 API - Page属性方法和简短说明

文章目录 一、Page属性方法和简短说明一、Page属性方法和简短说明 https://pymupdf.readthedocs.io/en/latest/page.html Method/Attribute属性方法Short Description简短说明Page.add_caret_annot()仅限 PDF:添加插入符号注释Page.add_circle_annot()仅限 PDF:添加圆圈…

微服务粒度难题:找到合适的微服务大小

序言 在微服务架构风格中&#xff0c;微服务通常设计遵循SRP&#xff08;单一职责原则&#xff09;&#xff0c;作为一个独立部署的软件单元&#xff0c;专注于做一件事&#xff0c;并且做到极致。作为开发人员&#xff0c;我们常常倾向于在没有考虑为什么的情况下尽可能地将服…

头歌资源库(20)最大最小数

一、 问题描述 二、算法思想 使用分治法&#xff0c;可以将数组递归地分割成两部分&#xff0c;直到数组长度为1或2。然后比较这两部分的最大、次大、次小、最小数&#xff0c;最终得到整个数组中的最大两个数和最小两个数。 算法步骤如下&#xff1a; 定义一个函数 findMinM…

Java - 程序员面试笔记记录 实现 - Part3

4.1 线程与进程 线程是程序执行的最小单元&#xff0c;一个进程可以拥有多个线程&#xff0c;各个线程之间共享程序的内存空间以及一些进程级资源&#xff0c;但拥有自己的栈空间。 4.3 Java 多线程 方法一&#xff1a;继承 Thread 类&#xff0c;重写 run 方法&#xff1b;…

二分法查找有序表的通用算法(可查链表,数组,字符串...等等)

find_binary函数 注意事项&#xff1a; &#xff08;1&#xff09;你设计的迭代器模板中必须有using value_type T&#xff0c;且有加减运算功能&#xff0c;其本上能与C标准库std中一样。 &#xff08;2&#xff09;集合必须是有序的。 下面是函数代码&#xff1a; /// &…

一次建表语句触发的ORA-600报错分析

​ 某次在客户Oracle数据库执行一条建表语句时&#xff0c;报出ORA-600错误。 报错代码如下&#xff1a; ORA-00600: 内部错误代码, 参数: [rwoirw: check ret val], [], [], [], [], [], [], [], [], [], [], [] 相关的建表语句如下&#xff1a; ​ 在报错发生后&#xff0c;…