top终端详解
1.top命令行使用
2.top每行意义
3.补充
1.top命令行使用
top命令是一个常用的Linux系统命令,用于实时查看系统的运行状态和进程信息。下面是top命令的几个常用参数的含义:
-d seconds:设置top命令的更新间隔时间,单位是秒。默认是3秒。
-n iterations:设置top命令的运行次数,也就是显示几次系统的运行状态和进程信息后退出。默认是无限循环。
-p pid:显示指定进程ID的信息。
-U username:只显示指定用户名的进程信息。
-u username:只显示指定用户名的进程信息,同时显示详细的CPU使用情况。
-H:显示进程树,即每个进程的子进程信息。
-i:不显示闲置进程,只显示正在运行的进程信息。
-c:显示完整的进程命令行信息。
-M:按照内存使用量进行排序。
-k:以KB为单位显示内存使用情况。
-b:以批处理模式运行top
2.top每行意义
top命令在终端中的前5行展示了系统的一些概要信息,具体包括:
第一行展示了当前时间,系统已经运行的时间,登录用户的数量以及系统的平均负载情况。平均负载是指一段时间内系统处于运行状态的进程数量的平均值,如果平均负载高于CPU核心数量的70%以上,那么就表示系统处于高负载状态。
第二行展示了CPU的使用情况,包括CPU的总体使用率和各个CPU核心的使用情况。
第三行展示了物理内存的使用情况,包括总内存大小、已使用的内存、空闲的内存以及缓存和缓冲区使用的内存大小。
第四行展示了交换分区(Swap)的使用情况,包括总大小、已使用的交换分区、空闲的交换分区以及交换分区被使用的比例。
第五行展示了系统的任务队列情况,包括正在运行的进程数量、等待CPU时间片的进程数量以及处于休眠状态的进程数量。
第五行具体字节意义:
PID:进程的ID号。
USER:进程的所有者。
PR:进程的优先级。
NI:进程的优先级nice值。
VIRT:进程使用的虚拟内存大小。
RES:进程使用的物理内存大小。
SHR:进程使用的共享内存大小。
S:进程的状态(R表示运行,S表示睡眠,Z表示僵尸进程)。
%CPU:进程使用CPU的百分比。
%MEM:进程使用物理内存的百分比。
TIME+:进程使用的CPU时间。
COMMAND:进程的命令行。
除了以上列出的参数之外,top命令的交互界面中还可以使用各种快捷键来执行不同的操作,如按下k可以杀死指定的进程,按下H可以显示进程的树形结构等等。在top命令的交互界面中,按下h可以查看所有可用的快捷键和其功能。
第三行具体字节意义:
展示了物理内存的使用情况,包括total(总内存大小)、used(已使用的内存大小)、free(空闲的内存大小)、shared(被共享的内存大小)、buffers(被缓冲的内存大小)以及cached(被缓存的内存大小)。这些数值的单位通常是以KiB(千字节)为基础单位,因此需要将数值转换为更常用的单位(如GB)时,需要进行单位转换。
以7700 total为例,它表示系统的总内存大小为7700 KiB,将其转换为GB,可以使用以下公式: 7700 KiB ÷ 1024 =
7.52 GB(保留两位小数) 因此,7700 total表示系统的总内存大小为7.52 GB。类似地,对于其他的内存使用情况参数,也需要进行单位转换才能更好地理解和分析系统的内存使用情况。在top命令第三行中,used、buffers和cached分别表示已使用的内存大小、被缓冲的内存大小和被缓存的内存大小。它们之间的区别如下:
used:表示系统当前正在使用的内存大小,包括被进程占用的内存、被内核占用的内存以及其他系统组件占用的内存。
buffers:表示被缓冲的内存大小,包括文件系统缓存和磁盘I/O缓存等。缓存是为了提高系统性能而设置的一种机制,它可以减少磁盘I/O操作的次数,从而加快文件读写的速度。
cached:也表示被缓存的内存大小,包括页面缓存和目录缓存等。页面缓存是为了加速文件读取而设置的一种机制,它将经常读取的文件数据缓存在内存中,从而加快文件读取的速度;目录缓存则是为了加速目录操作而设置的一种机制,它将文件系统中的目录项缓存在内存中,从而加快目录操作的速度。
而buffers和cached之间的区别在于缓存的内容不同,buffers主要缓存的是磁盘I/O操作所涉及到的数据块,而cached主要缓存的是经常读取的文件数据和目录项等。
可以将buffers/cached理解为被占用的内存,但是它们并不属于正在使用的内存(即used),因为它们可以随时被释放以供其他进程使用。当系统需要更多的内存时,它们就会被操作系统回收,从而让更多的内存可用于进程使用。因此,在评估系统的内存使用情况时,需要综合考虑used、buffers和cached等参数。
3.补充:
在终端中输入 “top” 命令,然后按 “Shift + h” 键可以查看所有线程的信息。
你可以在线程名前加一个 “grep” 命令来过滤线程信息,例如:
top -H | grep MyThread
std::thread t(thread_func);pthread_setname_np(t.native_handle(), "MyThread");
相关文章:
top终端详解
1.top命令行使用 2.top每行意义 3.补充 1.top命令行使用 top命令是一个常用的Linux系统命令,用于实时查看系统的运行状态和进程信息。下面是top命令的几个常用参数的含义: -d seconds:设置top命令的更新间隔时间,单位是秒。默认是…...
解决一个偶现的503 bug,花了俺不少时间
概述 在3月2日晚上,大概8点左右,本想打道回府,回家休息,突然被人在bug群了一下,说是管理后台,访问不了,界面上出现了: 503 service temporarily unavailable我赶紧尝试访问了一下,确…...

什么是栈,如何实现?
欢迎来到 Claffic 的博客 💞💞💞 “但有一枝堪比玉,何须九畹始征兰?” 前言: 栈是一种特殊的线性表,就像开盖的桶一样,从底部开始放数据,从顶部开始取数据,那么栈具体是…...

在我的MacBook上捣鼓ESP8266
周三是我们的篮球日,打篮球后总是会有些兴奋,然后就容易睡不着,额,睡不着就拿我的ESP8266开发板出来捣鼓一下。先下载编译工具链https://github.com/espressif/ESP8266_RTOS_SDK下载sdkgit clone https://github.com/espressif/ES…...

【深度强化学习】(8) iPPO 模型解析,附Pytorch完整代码
大家好,今天和各位分享一下多智能体深度强化学习算法 ippo,并基于 gym 环境完成一个小案例。完整代码可以从我的 GitHub 中获得:https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Model 1. 算法原理 多智能体的情形相比于单智…...

77.qt qml-QianWindow-V1版本界面讲解
上章介绍: 76.qt qml-QianWindow开源炫酷界面框架简介(支持白色暗黑渐变自定义控件均以适配) 界面如下所示: 代码结构如下所示:...

RHCE学习日记二
1、在 node1 主机上配置 chrony 时间服务器,将该主机作为时间服务器。 命令: vim /etc/chrony.conf 在文件位置添加命令: #Use public servers from the pool.ntp.org project. #Please consider joining the pool (https://www.pool.ntp.org…...

Dubbo原理简介
Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 作为RPC:支持各种传输协议,如dubbo,hession,json,fastjson,底层采用mina,netty长连接…...

JavaSE基础总结
JDK与JRE JDK,全称Java Development Kit,Java开发工具包 JRE,全称Java Runntime Environment,Java运行环境 JDK包含后者JRE。 JDK也可以说是Java SDK(Software Development kit,软件开发工具包)…...

5G(NR)信道带宽和发射带宽---频率资源
前言 查看此文之前建议先看看这篇 5G(NR)频率资源划分_nr运营商频段划分_达帮主的博客-CSDN博客NR频率有上面几个划分 ,可以使用低于1GHz的频端,既可以使用高于30GHz高频端。使用频端高于30GHz那我们称之为高频或者毫米波。使用毫米波是5G网络区别于4G…...
基于Spring Boot的酒店管理系统
文章目录 项目介绍主要功能截图:登录首页房间类型酒店预约部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot的酒店管理系统…...

Ae:混合模式
Ae 中内置了 Ps 的渲染引擎,同样可在多处应用混合模式 Blending Mode。与 Ps 相比,除了两组图层通道相关的特定模式,其它的混合模式几乎是一模一样。相关快捷键:下一图层混合模式:Shift 上一图层混合模式:…...
JS中的变量
系列文章目录 前端系列文章——传送门 JavaScript系列文章——传送门 文章目录系列文章目录前言1、概念2、定义变量3、变量名的规则4、变量本质5、赋值6、常用操作前言 相对于青龙面板来说,变量就是你填入青龙的cookie,简称ck 在实际项目中࿰…...

Hadoop运行模块
二、Hadoop运行模式 1)Hadoop官方网站:http://hadoop.apache.org 2)Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。 本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。伪分…...

Web自动化——前端基础知识(二)
1. Web前端开发三要素 web前端开发三要素 什么是HTMl? Html是超文本标记语言,是用来描述网页的一种标记语言HTML是一种标签规则的形式将内容呈现在浏览器中可以以任意编辑器创建,其文件扩展名为.html或.htm保存即可 什么是CSS?…...

NAS系列 硬件组装
转自我的博客文章https://blognas.hwb0307.com/nas/3260,内容更新仅在个人博客可见。欢迎关注! 前言 之前我在《NAS系列 硬件选择》里讲述了自己为了升级NAS如何选配硬件。本节我大概说一些我的新NAS硬件组装的注意事项。到目前为止,我只装过…...

IDAFrida
IDA&Frida 前言 偶然间发现了一本秘籍《IDA脚本开发之旅》,这是白龙的系列文章,主要是安卓平台,笔者只是根据他的知识点学习,拓展,可以会稍微提及别的平台。本文并不会贴出他的思路分析,只对于源码进…...

通过百度文心一言大模型作画尝鲜,感受国产ChatGPT的“狂飙”
3月16日下午,百度于北京总部召开新闻发布会,主题围绕新一代大语言模型、生成式AI产品文心一言。百度创始人、董事长兼首席执行官李彦宏,百度首席技术官王海峰出席,并展示了文心一言在文学创作、商业文案创作、数理推算、中文理解、…...

Nacos 注册中心 - 健康检查机制源码
目录 1. 健康检查介绍 2. 客户端健康检查 2.1 临时实例的健康检查 2.2 永久实例的健康检查 3. 服务端健康检查 3.1 临时实例的健康检查 3.2 永久实例服务端健康检查 1. 健康检查介绍 当一个服务实例注册到 Nacos 中后,其他服务就可以从 Nacos 中查询出该服务…...

Transformer在计算机视觉中的应用-VIT、TNT模型
上期介绍了Transformer的结构、特点和作用等方面的知识,回头看下来这一模型并不难,依旧是传统机器翻译模型中常见的seq2seq网络,里面加入了注意力机制,QKV矩阵的运算使得计算并行。 当然,最大的重点不是矩阵运算&…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...