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
相关文章:
Linux shell编程学习笔记62: top命令 linux下的任务管理器
0 前言 top命令是Unix 和 Linux下常用的性能分析工具,提供了一个动态的、交互式的实时视图,显示系统的整体性能信息,以及正在运行的进程的相关信息,包括各个进程的资源占用状况,类似于Windows的任务管理器。 1 top命令…...
如何在Java中实现高性能的网络通信
如何在Java中实现高性能的网络通信 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 引言 在当今互联网时代,高性能的网络通信是构建大规模分布…...
政务单位网站SSL证书选择策略
在数字化快速发展的今天,政务单位网站作为政府与公众沟通的重要桥梁,其安全性和可信度显得尤为重要。SSL证书作为保障网站安全的重要手段,其选择对于政务单位网站来说至关重要。本文将探讨政务单位网站在选择SSL证书时应该考虑的因素…...
零基础入门 Ai 数据挖掘竞赛-速通 Baseline-1
#AI夏令营 #Datawhale #夏令营 本项目为Datawhale 2024 年 AI 夏令营赛事,零基础入门 AI 数据挖掘竞赛-速通学习手册配套的代码项目。 项目链接:https://aistudio.baidu.com/bd-cpu-02/user/2961857/8113198/home#codelab 任务目标 根据给的test&…...
第二十六章 生成器(generator)(Python)
文章目录 前言一、生成器函数 前言 在 Python 中,使用了 yield 的函数被称为生成器(generator) yield 是一个关键字,用于定义生成器函数,生成器函数是一种特殊的函数,可以在迭代过程中逐步产生值ÿ…...
Vue通过Key管理状态
Vue通过Key管理状态 Vue 默认按照“就地更新”的策略来更新,通过 v-for 渲染的元素列表。当数据项的顺序改变时,Vue 不会随之移动 DOM 元素的顺序,而是就地更新每个元素,确保它们在原本指定的索引位置上渲染。为了给 Vue 一个提示…...
鸿蒙 HarmonyOs 网络请求 快速入门
官方文档: ArkUI简介-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com) 一、通过原有的http组件进行网络请求(方式一) 1.1 HttpRequestOptions的操作 名称类型描述methodRequestMethod请求方式ÿ…...
Kubernetes云原生存储解决方案openebs部署实践-4.0.1版本(helm部署)
Kubernetes云原生存储解决方案openebs部署实践-4.0.1版本(helm部署) 简介 OpenEBS 是一种开源云原生存储解决方案。OpenEBS 可以将 Kubernetes 工作节点可用的任何存储转化为本地或复制的 Kubernetes 持久卷。OpenEBS 帮助应用和平台团队轻松地部署需要…...
如何使用Pip生成requirements.txt文件:全面指南与实践示例
如何使用Pip生成requirements.txt文件:全面指南与实践示例 Python的包管理工具Pip是Python开发中不可或缺的一部分。它不仅可以帮助我们安装和管理Python包,还可以通过生成requirements.txt文件来记录项目所需的所有依赖。本文将详细介绍如何使用Pip生成…...
微信小程序消息通知(一次订阅)
在微信公众平台配置通知模版 通过wx.login获取code发送给后端 let that this // 登陆codewx.login({success: function (res) {if (res.code) {// 发送code到后端换取openid和session_keythat.setData({openCode: res.code})console.log(that.data.openCode, openCode);// 调…...
电传动无杆飞机牵引车交付用户
自2019年起,我们计划做电传动控制,先后做了电传动水泥搅拌罐车罐体控制(国内首创),初步理解了电机控制的特点。 20-21年接着做了10t飞机牵引车控制,还是电液控制联合的,把越野叉车的行驶控制方…...
react框架,使用vite和nextjs构建react项目
react框架 React 是一个用于构建用户界面(UI)的 JavaScript 库,它的本质作用是使用js动态的构建html页面,react的设计初衷就是为了更方便快捷的构建页面,官方并没有规定如何进行路由和数据获取,要构建一个完整的react项目,我们需要…...
Games101学习笔记 Lecture16 Ray Tracing 4 (Monte Carlo Path Tracing)
Lecture16 Ray Tracing 4 (Monte Carlo Path Tracing 一、蒙特卡洛积分 Monte Carlo Integration二、路径追踪 Path tracing1.Whitted-Style Ray Tracings Problems2.只考虑直接光照时3.考虑全局光照①考虑物体的反射光②俄罗斯轮盘赌 RR (得到正确shade函数&#x…...
数据结构概念
文章目录 1. 概念 2. 数据结构和算法的关系 3. 内存 4. 数据的逻辑结构 5. 数据的存储结构 1. 顺序存储结构 2. 链式存储结构 3. 索引存储结构 4. 散列存储结构 6. 数据的运算 1. 概念 定义1(宏观): 数据结构是为了高效访问数据而…...
Windows 下载安装ffmpeg
下载地址 https://ffmpeg.org/download.html 测试 管理员方式打开控制台,输入ffmpeg测试 配置环境变量...
Java AI 编程助手
Java AI 编程助手是指利用人工智能技术来增强和优化Java开发过程中的各种任务和活动。它可以涵盖从代码生成和分析到测试和优化的多个方面,帮助开发人员提高生产效率、降低错误率,并优化代码质量和性能。 ### 功能和特点 1. **智能代码生成和建议**&am…...
day10:01集合
1 作用 Python中的集合(Set)是一个无序的、不包含重复元素的容器。它主要用于去重、成员测试、以及执行数学上的集合运算(如并集、交集、差集和对称差集)等操作。集合的内部实现通常基于哈希表,这提供了快速的成员测试…...
03浅谈提示工程、RAG和微调
03浅谈提示工程、RAG和微调 提示词Prompt Prompt(提示词)是指在使用大模型时,向模型提供的一些指令或问题。这些指令作为模型的输入,引导模型产生所需要的输出。例如,在生成文本时,Prompt可能是一个问题或…...
硅纪元视角 | AI纳米机器人突破癌症治疗,精准打击肿瘤细胞
在数字化浪潮的推动下,人工智能(AI)正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展,捕捉行业动态;提供深入的新闻解读,助您洞悉技术背后的逻辑;汇聚行业专家的见解,…...
刷代码随想录有感(125):动态规划——最长公共子序列
题干: 代码: class Solution { public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>>dp(text1.size() 1, vector<int>(text2.size() 1, 0));for(int i 1; i < text1.size(); i){for(int j …...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...
