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 …...
用Python手撸一个垃圾邮件过滤器:从数据清洗到模型预测的保姆级教程
用Python手撸一个垃圾邮件过滤器:从数据清洗到模型预测的保姆级教程每天打开邮箱,总能看到一堆"恭喜中奖"、"限时优惠"的未读邮件——这种体验想必大家都不陌生。作为开发者,我们完全可以用Python从零开始打造一个专属的…...
Terraform 实战:用 for 表达式将列表元素转换为大写
Terraform 技巧:使用 for 表达式将列表元素转换为大写 在 Terraform 配置中,我们经常需要对列表中的字符串进行批量转换,例如将小写名称统一转为大写,以满足某些标签规范或命名约定。本文以 var.names 列表为例,演示如何通过 for 表达式结合 upper 函数,生成一个全大写的…...
ATLO-ML:自适应时序预测窗口与采样率优化框架详解
1. 项目概述:为什么时序预测的“窗口”和“节奏”如此重要?在机器学习的时间序列预测任务中,我们常常会陷入一个看似简单、实则充满陷阱的环节:如何设置模型的“输入窗口”?具体来说,就是应该用过去多长时间…...
SLED框架:边缘计算中的LLM推理加速方案
1. SLED框架:边缘计算场景下的LLM推理加速方案在边缘计算环境中部署大语言模型(LLM)面临的核心矛盾在于:模型规模的持续增长与边缘设备有限的计算资源之间的不匹配。传统解决方案如模型量化(Quantization)和…...
Windows打印服务总罢工?手把手教你排查并修复Print Spooler自动停止问题
Windows打印服务罢工?深度排查Print Spooler自动停止问题 办公室里最让人抓狂的时刻之一,莫过于点击打印后毫无反应,而打印机明明亮着绿灯。这种时候,十有八九是Windows的Print Spooler服务在"闹罢工"。作为Windows打印…...
Forge中的数据分析:使用LLM工具调用处理和可视化数据的完整指南 [特殊字符]
Forge中的数据分析:使用LLM工具调用处理和可视化数据的完整指南 🔍 【免费下载链接】forge A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows 项目地址: https://gitcode.com/GitHub_Trending/forge54/forge …...
OllyDbg与Cheat Engine协同分析恶意软件动态行为
1. 这不是游戏外挂工具,而是逆向工程师的听诊器与显微镜很多人第一次听说OllyDbg或Cheat Engine,是在游戏论坛里看到“修改血量”“无限金币”的教程;也有人在安全群聊中听到老手随口一句:“这壳用OD下断点一跟就破”。但真相是&a…...
202508(第16届)蓝桥杯C++编程青少组(省赛_初/中级)真题以及答案解析
202508(第16届)蓝桥杯C++编程青少组(省赛_初/中级)真题 考试时间:60分钟 总分:400 及格分:240 一、单选题 (共5题,每题20分) 1、下列C++运算符中,优先级最高的是?( ) A:+ B:- C:* D:= 【正确答案】 D 【试题解析】 C++运算符,算数运算符优先级高于赋…...
AlphaEvolve:LLM与进化算法融合的自动代码优化系统
1. 项目概述:AlphaEvolve系统架构与核心思想AlphaEvolve代表了当前算法自动优化领域最前沿的技术突破。这个由Google DeepMind团队开发的系统,创造性地将大语言模型(LLM)的代码生成能力与进化算法的迭代优化机制相结合,形成了一个自主进化的编…...
01-大模型AI:大模型学习指南
大模型概述 一、大模型训练的三大核心阶段 预训练:自监督学习的“知识积累期” 预训练是大模型的“启蒙阶段”,采用自监督学习模式。模型像海绵一样从海量文本数据中自主学习语言规律、语义关联和世界知识。例如,训练一个AI领域大模型时,会输入数百万篇AI论文、技术博客…...
