腾讯字节常考的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 ps
与 ps -ef
的区别
ps
:这个命令不带任何参数时,默认显示与当前终端会话相关联的进程。ps -ef
:这个命令显示系统中所有运行的进程,其中:-e
选项表示显示所有进程。-f
选项提供完整的详细输出,包括进程的UID、PID、PPID、启动时间等。
2 top命令
top
命令是一个非常流行的 Linux 工具,用于实时显示系统中进程的动态运行信息。它提供了一个实时更新的视图,显示哪些进程正在占用最多的系统资源,包括 CPU 和内存。这里是 top
命令的一些关键特性和输出字段的详细解释:
2.1 主要特性
-
实时监控:
top
命令提供了一个实时更新的视图,显示系统的当前状态,包括正在运行的进程和它们的资源占用。 -
排序和查找:可以根据CPU、内存等不同的资源消耗对进程进行排序,也可以搜索特定的进程。
-
交互式控制:用户可以在
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命令
-
动态实时更新:
top
提供一个动态的实时视图,它会定期刷新(默认情况下每几秒刷新一次),显示当前的进程和它们对系统资源(如CPU和内存)的实时使用情况。
-
交互性:
top
是交互式的;用户可以在其运行时执行不同的命令,比如改变排序顺序、杀死进程等。
-
系统资源使用概览:
top
显示系统概览信息,如CPU使用率、内存使用量、负载平均值等。
2.3.2 ps -ef命令
-
静态快照:
ps -ef
提供的是在命令执行时刻的进程快照。它不会实时更新;要查看最新信息,需要重新运行命令。
-
非交互性:
ps -ef
是非交互式的,它只打印出执行时刻的进程信息,并且无法在命令运行时进行操作。
-
详细进程信息:
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个整数,求平均值 编写一个程序,从用户输入中读取10个整数并存储在一个数组中。然后,计算并输出这些整数的平均值。 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方法时,会报DML Returing cannot be batch错误: 推测原因是oracle不支持insert into table_name (,) values (,),()的写法。且oracle不会自动生…...
vue,uniapp的pdf等文件在线预览
vue,uniapp文件在线预览方案,用了个稍微偏门一点的方法实现了 通过后端生成文件查看页面,然后前端只要展示这个网页就行,uniapp就用web-view来展示,后台系统就直接window.open()打开就行 示例查看PDF文件,…...

SpringBoot 项目 Jar 包加密,防止反编译
1场景 最近项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来。 2方案 第一种方案使用代码混淆 采用proguard-maven-plugin插件 在单模块中此方案还算简…...
DockerFile中途执行出错的解决办法
DockerFile中途执行出错的解决办法 你们是否也曾经因为DockerFile中途执行出错,而对其束手无策?总是对docker避之不及! 但是当下载的源码运用到了docker,dockerFile 执行到一半,报错了怎么办? 现状 那么当DockerFile执行一半出错后,会产生什么结果呢? 如图可知,生成…...

Word插件-好用的插件-一键设置字体--大珩助手
常用字体 整理了论文、公文常用字体 整理了常用的论文字体,可一键设置当前节或选择的文字的字体 字体设置 包含字体选择、字体颜色 特殊格式 包含首字下沉、段落分栏、统一宽度、双行合一、上标切换、下标切换、转为全角、转为半角、挖词填空、当前日期、大写金…...
【MODBUS】Modbus主站云端服务器和边缘设备部署区别
Modbus主站作为云端服务器: 云端服务器作为主站: 在这种部署方式中,云端服务器充当Modbus通信的主站,负责向不同的Modbus从站发起请求,并处理响应。云端服务器通常与其他云服务一起运行,可以在云平台上实现…...

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

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

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

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

OpenCL学习笔记(一)开发环境搭建(win10+vs2019)
前言 异构编程开发,在高性能编程中有重要的,笔者本次只简单介绍下,如何搭建简单的开发环境,可以供有需要的小伙伴们开发测试使用 一、获取opencl的sdk库 1.使用cuda库 若本机有Nvidia的显卡,在安装cuda库后&#x…...
寻找两个正序数组的中位数
更好的阅读体验,请点击 YinKai s Blog。 题目:寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 …...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...