当前位置: 首页 > news >正文

腾讯字节常考的linux命令

1 ps

1.1 ps -ef 有哪些字段

ps -ef 命令在Unix/Linux系统中用于显示当前运行的进程。输出的字段通常包括:

  • UID:启动进程的用户ID。
  • PID:进程ID。
  • PPID:父进程ID。
  • C:CPU利用率。
  • STIME:进程启动时间。
  • TTY:进程终端类型。
  • TIME:进程占用CPU的时间。
  • CMD:启动进程的命令。

1.2 psps -ef 的区别

  • ps:这个命令不带任何参数时,默认显示与当前终端会话相关联的进程。
  • ps -ef:这个命令显示系统中所有运行的进程,其中:
    • -e 选项表示显示所有进程。
    • -f 选项提供完整的详细输出,包括进程的UID、PID、PPID、启动时间等。

2 top命令

top 命令是一个非常流行的 Linux 工具,用于实时显示系统中进程的动态运行信息。它提供了一个实时更新的视图,显示哪些进程正在占用最多的系统资源,包括 CPU 和内存。这里是 top 命令的一些关键特性和输出字段的详细解释:

2.1 主要特性

  1. 实时监控top 命令提供了一个实时更新的视图,显示系统的当前状态,包括正在运行的进程和它们的资源占用。

  2. 排序和查找:可以根据CPU、内存等不同的资源消耗对进程进行排序,也可以搜索特定的进程。

  3. 交互式控制:用户可以在 top 运行时交互式地执行命令,例如更改排序顺序、杀死进程等。

2.2 输出字段解释

top 命令的输出通常分为两部分:系统概览和进程列表。

2.2.1 系统概览

  • load average:显示了过去1分钟、5分钟和15分钟的平均负载。
  • Tasks:当前的进程总数,以及它们的状态(运行、休眠、停止、僵尸)。
  • %Cpu(s):CPU的使用情况,包括用户空间占比、系统空间占比、空闲比例等。
  • KiB Mem 和 KiB Swap:内存和交换空间的使用情况。

2.2.2 进程列表

  • PID:进程ID。
  • USER:运行进程的用户。
  • PR:进程的优先级。
  • NI:进程的nice值,影响进程的优先级。
  • VIRT:进程占用的虚拟内存总量。
  • RES:进程占用的物理内存量。
  • SHR:进程共享的内存量。
  • S:进程状态(如睡眠(S)、运行(R)、停止(T)等)。
  • %CPU:进程占用的CPU百分比。
  • %MEM:进程占用的物理内存百分比。
  • TIME+:进程占用CPU的总时间。
  • COMMAND:启动进程的命令。

2.2.3 交互命令

top 运行时,用户可以使用不同的键盘命令进行交互:

  • h?:显示帮助。
  • k:杀死一个进程。
  • f:选择要显示的字段。
  • r:重新设定一个进程的nice值。
  • P:按CPU使用率排序。
  • M:按内存使用量排序。

2.3 top命令和ps -ef命令的区别

top 命令和 ps -ef 命令都用于查看运行在Linux系统上的进程,但它们之间有一些关键的区别:

2.3.1 top命令

  1. 动态实时更新

    • top 提供一个动态的实时视图,它会定期刷新(默认情况下每几秒刷新一次),显示当前的进程和它们对系统资源(如CPU和内存)的实时使用情况。
  2. 交互性

    • top 是交互式的;用户可以在其运行时执行不同的命令,比如改变排序顺序、杀死进程等。
  3. 系统资源使用概览

    • top 显示系统概览信息,如CPU使用率、内存使用量、负载平均值等。

2.3.2 ps -ef命令

  1. 静态快照

    • ps -ef 提供的是在命令执行时刻的进程快照。它不会实时更新;要查看最新信息,需要重新运行命令。
  2. 非交互性

    • ps -ef 是非交互式的,它只打印出执行时刻的进程信息,并且无法在命令运行时进行操作。
  3. 详细进程信息

    • ps -ef 提供了每个进程的详细信息,包括PID、所属用户、父进程ID、启动时间、命令等。

2.3.3 使用场景

  • 使用 top 时,通常是为了监控系统的实时性能和查看哪些进程正在使用最多资源。它适用于系统监控和动态问题诊断

  • 使用 ps -ef 时,适用于需要获取系统在某一时刻的进程快照,或者当需要了解特定进程的信息时。

总之,top 更适合于实时监控和交互操作,而 ps -ef 更适合于获取一次性的详细进程信息。两者都是系统管理员和用户诊断系统状态和性能问题时的重要工具。

3 vmstat

3.1 vmstat 字段详解

vmstat(虚拟内存统计)命令提供了关于系统的虚拟内存、物理内存、系统调用、I/O、CPU活动等方面的信息。常见字段包括:

  • procs(进程)

    • r:等待运行的进程数。
    • b:处于不可中断睡眠状态的进程数。
  • memory(内存)

    • swpd:使用虚拟内存的大小。
    • free:空闲的物理内存大小。
    • buff:用作缓冲区的内存大小。
    • cache:用作缓存的内存大小。
  • swap(交换)

    • si:每秒从磁盘交换到内存的大小。
    • so:每秒从内存交换到磁盘的大小。
  • io(输入/输出)

    • bi:每秒从块设备读取的块数。
    • bo:每秒向块设备写入的块数。
  • system(系统)

    • in:每秒中断数,包括时钟中断。
    • cs:每秒上下文切换数。
  • cpu(CPU)

    • us:用户空间占用CPU的百分比。
    • sy:内核空间占用CPU的百分比。
    • id:空闲CPU百分比。
    • wa:等待I/O的CPU时间百分比。
    • st:被虚拟机偷取的CPU时间百分比(在虚拟化环境中)。

相关文章:

腾讯字节常考的linux命令

1 ps 1.1 ps -ef 有哪些字段 ps -ef 命令在Unix/Linux系统中用于显示当前运行的进程。输出的字段通常包括: UID:启动进程的用户ID。PID:进程ID。PPID:父进程ID。C:CPU利用率。STIME:进程启动时间。TTY&a…...

JAVA后端自学技能实操合集

JAVA后端自学技能实操 内容将会持续更新中,有需要添加什么内容可以再评论区留言,大家一起学习FastDFS使用docker安装FastDFS(linux)集成到springboot项目中 内容将会持续更新中,有需要添加什么内容可以再评论区留言,大家一起学习 FastDFS 组名:文件上传后所在的 st…...

C++ 关联容器

关联容器 关联容器支持高效的关键字查找和访问。 两个主要的关联容器(associative container)类型是 map 和 set。 map 中的元素是一些关键字——值对。 关键字起到索引的作用,值则表示与索引相关联的数据。 set 中的每个元素只包含一个关键…...

ES6之函数新增的扩展

参数 ES6允许为函数的参数设置默认值 function log(x, y World) {console.log(x, y); }console.log(Hello) // Hello World console.log(Hello, China) // Hello China console.log(Hello, ) // Hello函数的形参是默认声明的,不能使用let或const再次声明 functi…...

postgresql安装部署(docker版本)

1.在线部署 创建数据库存储目录 mkdir /home/pgdata创建容器 docker run --name postgresql --restartalways -d -p 5432:5432 -v /home/pgdata:/var/lib/postgresql/data --shm-size10g -e POSTGRES_PASSWORD密码 postgis/postgis:12-3.2-alpine–name为设置容器名称 -d表…...

【Python/Java/C++三种语言】20天拿下华为OD笔试之【位运算】2023B-出错的或电路【欧弟算法】全网注释最详细分类最全的华为OD真题

文章目录 题目描述与示例题目描述输入描述输出描述示例一输入输出说明 示例二输入输出说明 解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 某生产门电路的厂商发现某一批次的或门电路不稳定,具体现象为计…...

vscode 编译运行c++ 记录

一、打开文件夹,新建或打开一个cpp文件 二、ctrl shift p 进入 c/c配置 进行 IntelliSense 配置。主要是选择编译器、 c标准, 设置头文件路径等,配置好后会生成 c_cpp_properties.json; 二、编译运行: 1、选中ma…...

错题总结(四)

1.【一维数组】输入10个整数&#xff0c;求平均值 编写一个程序&#xff0c;从用户输入中读取10个整数并存储在一个数组中。然后&#xff0c;计算并输出这些整数的平均值。 int main() {int arr[10];int sum 0;for (int n 0; n < 10; n){scanf("%d", &arr…...

ORACLE使用Mybatis-plus批量插入

ORACLE使用mybatis-plus自带的iservice.saveBatch方法时&#xff0c;会报DML Returing cannot be batch错误&#xff1a; 推测原因是oracle不支持insert into table_name (,) values &#xff08;&#xff0c;&#xff09;,&#xff08;&#xff09;的写法。且oracle不会自动生…...

vue,uniapp的pdf等文件在线预览

vue&#xff0c;uniapp文件在线预览方案&#xff0c;用了个稍微偏门一点的方法实现了 通过后端生成文件查看页面&#xff0c;然后前端只要展示这个网页就行&#xff0c;uniapp就用web-view来展示&#xff0c;后台系统就直接window.open()打开就行 示例查看PDF文件&#xff0c;…...

SpringBoot 项目 Jar 包加密,防止反编译

1场景 最近项目要求部署到其他公司的服务器上&#xff0c;但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理&#xff0c;防止客户直接通过反编译工具将代码反编译出来。 2方案 第一种方案使用代码混淆 采用proguard-maven-plugin插件 在单模块中此方案还算简…...

DockerFile中途执行出错的解决办法

DockerFile中途执行出错的解决办法 你们是否也曾经因为DockerFile中途执行出错,而对其束手无策?总是对docker避之不及! 但是当下载的源码运用到了docker,dockerFile 执行到一半,报错了怎么办? 现状 那么当DockerFile执行一半出错后,会产生什么结果呢? 如图可知,生成…...

Word插件-好用的插件-一键设置字体--大珩助手

常用字体 整理了论文、公文常用字体 整理了常用的论文字体&#xff0c;可一键设置当前节或选择的文字的字体 字体设置 包含字体选择、字体颜色 特殊格式 包含首字下沉、段落分栏、统一宽度、双行合一、上标切换、下标切换、转为全角、转为半角、挖词填空、当前日期、大写金…...

【MODBUS】Modbus主站云端服务器和边缘设备部署区别

Modbus主站作为云端服务器&#xff1a; 云端服务器作为主站&#xff1a; 在这种部署方式中&#xff0c;云端服务器充当Modbus通信的主站&#xff0c;负责向不同的Modbus从站发起请求&#xff0c;并处理响应。云端服务器通常与其他云服务一起运行&#xff0c;可以在云平台上实现…...

hbuiler中使用npm安装datav

注&#xff1a;datav边框样式目前使用时&#xff1a;适用于网页&#xff0c;不适用于app 1、先安装node 安装、配置Node路径 2、为Node配置环境变量 3、在hbuilder的设置中填写node的路径 配置 4、打开cmd输入npm install jiaminghi/data-view 安装dataV&#xff0c;&…...

贾佳亚团队新作LLaMA-VID,2token让大模型学会看好莱坞大片

家人们谁懂&#xff0c;连大模型都学会看好莱坞大片了&#xff0c;播放过亿的GTA6预告片大模型还看得津津有味&#xff0c;实在太卷了&#xff01; 而让LLM卷出新境界的办法简单到只有2token——将每一帧编码成2个词即可搞定。等等&#xff01;这种大道至简的方法有种莫名的熟…...

【数据结构】手撕排序

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、排序的概念及其运用1.1 排序的概念1.2 常见的算法排序 二、 冒泡排序三、直接插入排…...

运维05:自动化

人工运维时代 运维人员早期需要维护众多的机器&#xff0c;因此需要执行很多重复的劳动&#xff0c;很多机器需要同时部署相同的服务或者是执行相同的命令&#xff0c;还得反复地登录不同的机器&#xff0c;执行重复的动作 自动化运维时代 早期运维人员会结合ssh免密登录&…...

OpenCL学习笔记(一)开发环境搭建(win10+vs2019)

前言 异构编程开发&#xff0c;在高性能编程中有重要的&#xff0c;笔者本次只简单介绍下&#xff0c;如何搭建简单的开发环境&#xff0c;可以供有需要的小伙伴们开发测试使用 一、获取opencl的sdk库 1.使用cuda库 若本机有Nvidia的显卡&#xff0c;在安装cuda库后&#x…...

寻找两个正序数组的中位数

更好的阅读体验&#xff0c;请点击 YinKai s Blog。 题目&#xff1a;寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 …...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...