Prometheus+Grafana实现对服务的监控
Prometheus+Grafana实现对服务的监控
前言:Prometheus+Grafana实现监控会更加全面,监控的组件更多
Prometheus官网https://prometheus.io/docs/prometheus/latest/getting_started/
Grafana官网https://grafana.com/docs/
一、安装Prometheus+Grafana
这里采用docker安装
1.1 在服务器建3个文件夹
/mydata/prometheus/config
/mydata/prometheus/data
/mydata/grafana/storage
/mydata/grafana/conf
1.2 同步时间和目录授权
- 打开vmware顶部菜单栏: 虚拟机==>设置==>选项==>VMware Tool==>将客户机时间与主机同步
2.授权data目录: chown -R 777 /mydata/prometheus/data
1.3 Prometheus的配置文件准备
把prometheus的配置文件prometheus.yml放进 /mydata/prometheus/config
目录,prometheus.yml来源,可以去上面官网下载一个prometheus,然后把他的prometheus.yml拖进/mydata/prometheus/config
1.4 docker安装
docker run -d --name=prometheus \
-p 9090:9090 \
-v /mydata/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /mydata/prometheus/data:/prometheus \
-v /etc/localtime:/etc/localtime:ro \
prom/prometheus
查看:http://192.168.174.198:9090/query 能看到输出,则安装成功
1.5 安装grafana
docker run -d -p 3000:3000 --name=grafana \
-v /mydata/grafana/storage:/var/lib/Grafana \
-v /mydata/grafana/conf/defaults.ini:/usr/share/grafana/conf/defaults.ini \
-v /etc/localtime:/etc/localtime:ro \
grafana/grafana
defaults.ini我是用docker cp 复制出来的,也可以下载一个grafana,粘进去。目的是想汉化,修改defaults.ini中的default_language = zh-Hans 。但是实际并没有全部汉化,部分汉化
至此可以打开 grafana的地址:http://192.168.174.198:3000能看到页面就算安装成功
1.6 给grafana添加promethus数据源
选择grafana左侧的菜单:
Data source ==> 点击右上角的 add new data source
==>选择prometheus ==> 在Connection 地址数据我们的promethus的地址http://192.168.174.198:9090 ==>点击最下方的 save&test
二、监控docker
2.1 安装cadvisor
docker run -d \--volume=/:/rootfs:ro \--volume=/var/run:/var/run:ro \--volume=/sys:/sys:ro \--volume=/var/lib/docker/:/var/lib/docker:ro \--volume=/dev/disk/:/dev/disk:ro \-v /etc/localtime:/etc/localtime:ro \--publish=8181:8080 \--detach=true \--name=cadvisor \google/cadvisor:latest
鉴于8080容易冲突,我这映射到docker对外端口8181
2.2 修改prometheus.yml
在prometheus.yml添加如下,用于监控docker详情
- job_name: 'docker'static_configs:- targets: ['192.168.174.198:8181']labels:instance: docker
此时prometheus.yml的内容如下:
global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"static_configs:- targets: ["192.168.174.198:9090"]labels:app: "prometheus"- job_name: 'docker'static_configs:- targets: ['192.168.174.198:8181']labels:instance: docker
2.3 配置监控面板
打开grafana面板,点击右上角的+选择 import dashboard,在弹出的页面输入193,监控docker的面板用193就挺好。
下面的prometheus 选择刚才的prometheus 即可打开对docker的监控画面
三、监控linux服务器
3.1 安装node-exporter
docker run -d -p 9100:9100 --name=node-exporter \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
-v /etc/localtime:/etc/localtime:ro \
--net="host" \
prom/node-exporter
3.2 添加prometheus.yml配置
在上面的基础上添加
- job_name: 'node-explore'static_configs:- targets: ['192.168.174.198:9100']labels:instance: node-explore
3.3 配置grafana面板
打开grafana面板,点击右上角的+选择 import dashboard,在弹出的页面输入9276,监控模板可以自己去试探,我用9276号模板挺方便。
下面的prometheus 选择刚才的prometheus 即可打开对linux服务器的监控画面
四、prometheus监控微服务(springboot)
4.1导包
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId></dependency>
我的springcloud 2023.0.3 /springcloud alibaba 2023.0.1.2 /springboot3.3.5
这里引入的actuator和prometheus的maven的版本分别是:3.3.5、1.9.8
4.2 yml配置
management:server:# 这个端口是prometheus与微服务通信的端口port: 8100endpoints:web:exposure:# 从技术上更改端点的暴露 -- 通过HTTP公开所有的端点,可通过 /actuator/{ID} 去查看,如 /actuator/beansinclude: "*"base-path: /actuatorjmx:exposure:include: "*"endpoint:prometheus:enabled: truehealth:show-details: alwayshttptrace:enabled: truemetrics:enabled: trueexport:prometheus:enabled: trueprometheus:metrics:export:enabled: true
4.3 主启动类添加
@Value("${spring.application.name}")
private String application;@Bean
MeterRegistryCustomizer<MeterRegistry> configurer(){return (registry)->registry.config().commonTags("application",application);
}
4.4 修改prometheus.yml配置
- job_name: 'gateway'metrics_path: '/actuator/prometheus'static_configs:- targets: ['192.168.20.109:8100']labels:instance: springboot
最终的prometheus.yml内容如下:
global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["192.168.174.198:9090"]# The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config.labels:app: "prometheus"- job_name: 'docker'static_configs:- targets: ['192.168.174.198:8181']labels:instance: docker- job_name: 'node-explore'static_configs:- targets: ['192.168.174.198:9100']labels:instance: node-explore- job_name: 'admin'metrics_path: '/actuator/prometheus'static_configs:- targets: ['192.168.20.109:8096']labels:instance: springboot- job_name: 'auth'metrics_path: '/actuator/prometheus'static_configs:- targets: ['192.168.20.109:8097']labels:instance: springboot- job_name: 'order'metrics_path: '/actuator/prometheus'static_configs:- targets: ['192.168.20.109:8098']labels:instance: springboot- job_name: 'storage'metrics_path: '/actuator/prometheus'static_configs:- targets: ['192.168.20.109:8099']labels:instance: springboot- job_name: 'gateway'metrics_path: '/actuator/prometheus'static_configs:- targets: ['192.168.20.109:8100']labels:instance: springboot
4.5 配置grafana面板
打开grafana面板,点击右上角的+选择 import dashboard,在弹出的页面输入12900,监控springboot我用的是12900。 下面的prometheus 选择刚才的prometheus 即可打开对springboot服务器的监控画面
五、常用grafana监控组件与模板id总结
微服务性能监控springboot:12900、4701、10280
docker环境性能监控:893 、193
nacos性能监控:13221
mysql性能监控:9362
elasticsearch:266
Redis监控模板:11835
Jmeter: 5496
linux服务器 :12633 、9276、8919
相关文章:
Prometheus+Grafana实现对服务的监控
PrometheusGrafana实现对服务的监控 前言:PrometheusGrafana实现监控会更加全面,监控的组件更多 Prometheus官网 https://prometheus.io/docs/prometheus/latest/getting_started/ Grafana官网 https://grafana.com/docs/ 一、安装PrometheusGrafana 这…...
hook原理和篡改猴编写hook脚本
hook原理: hook是常用于js反编译的技术;翻译就是钩子,他的原理就是劫持js的函数然后进行篡改 一段简单的js代码 :这个代码是顺序执行的 function test01(){console.log(test01)test02() } function test02(){console.log(02)tes…...
Sign签证绕过
Sign的简介 Sign是指一种类似于token的东西 他的出现主要是保证数据的完整性,防篡改 就是一般的逻辑是 sign的加密的值和你输入的数据是相连的(比如sign的加密是使用输入的数据的前2位数字配合SHA1 等这样的) 绕过 :碰运气可以…...
【Vue篇】重剑无锋:面经PC项目工程化实战面经全解
目录 引言 一、项目功能演示 1. 目标 2. 项目收获 二、项目创建目录初始化 vue-cli 建项目 三、ESlint代码规范及手动修复 1. JavaScript Standard Style 规范说明 2. 代码规范错误 3. 手动修正 四、通过eslint插件来实现自动修正 五、调整初始化目录结构 1. 删除…...
JVM参数详解与实战案例指南(AI)
JVM参数详解与实战案例指南 一、JVM参数概述与分类 JVM参数是控制Java虚拟机运行时行为的关键配置项,合理设置这些参数可以显著提升应用性能。根据功能和稳定性,JVM参数主要分为三类: 标准参数:所有JVM实现都必须支持ÿ…...
C++通过空间配置器实现简易String类
C实现简易String类 在C中,使用空间配置器(allocator)实现自定义string类需要管理内存分配、释放及对象构造/析构。 #include <memory> #include <algorithm> #include <cstring> #include <stdexcept> #include &l…...
MyBatis:简化数据库操作的持久层框架
1、什么是Mybatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由 apachesoftwarefoundation 迁移到了google code,由谷歌托管,并且改名为MyBatis 。 2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框…...
Spring Boot集成Spring AI与Milvus实现智能问答系统
在Spring Boot中集成Spring AI与Milvus实现智能问答系统 引言 随着人工智能技术的快速发展,越来越多的企业开始探索如何将AI能力集成到现有系统中。本文将介绍如何在Spring Boot项目中集成Spring AI和向量数据库Milvus,构建一个高效的智能问答系统。 …...
软件工程(六):一致性哈希算法
哈希算法 定义 哈希算法是一种将任意长度的输入(如字符串、文件等)转换为固定长度输出的算法,这个输出称为“哈希值”或“摘要”。 常见的哈希算法 哈希算法哈希位数特点MD5128位快速,但已不安全SHA-1160位安全性提高…...
Linux内存分页管理详解
Linux内存分页管理详解:原理、实现与实际应用 目录 Linux内存分页管理详解:原理、实现与实际应用 一、引言 二、内存分页机制概述 1. 虚拟地址与物理地址的划分 2. 分页的基本原理 三、虚拟地址到物理地址的转换 1. 地址转换流程 2. 多级页表的遍历 四、多级页表的…...
work-platform阅读
Redis存储的是字节数据,所以任何对象想要存进redis,都要转化成字节。对象转化为字节流的过程,叫序列化,反之,叫反序列化 Redis 序列化详解及高性能实践-CSDN博客https://blog.csdn.net/zhangkunls/article/details/14…...
在 Excel xll 自动注册操作 中使用东方仙盟软件————仙盟创梦IDE
windows 命令 "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" /X "C:\Path\To\仙盟.xll" excel 注册 Application.RegisterXLL "XLMAPI.XLL" 重点代码解析 excel 命令模式 [ExcelCommand(Description "使用参数")] …...
微调后的模型保存与加载
在Hugging Face Transformers库中,微调后的模型保存与加载方式因微调方法(如常规微调或参数高效微调)而异。 一、常规微调模型的保存与加载 1、 保存完整模型 使用 save_pretrained() 方法可将整个模型(包含权重、配置、分词器…...
PostgreSQL 日常维护
目录 一、基本使用 1、登录数据库 2、数据库操作 (1)列出库 (2)创建库 (3)删除库 (4)切换库 (5)查看库大小 3、数据表操作 (1ÿ…...
Ntfs!ATTRIBUTE_RECORD_HEADER结构$INDEX_ROOT=0x90的一个例子
Ntfs!ATTRIBUTE_RECORD_HEADER结构$INDEX_ROOT0x90的一个例子 1: kd> dx -id 0,0,899a2278 -r1 ((Ntfs!_FILE_RECORD_SEGMENT_HEADER *)0xc431a400) ((Ntfs!_FILE_RECORD_SEGMENT_HEADER *)0xc431a400) : 0xc431a400 [Type: _FILE_RECORD_SEGMENT_HEADER …...
leetcode hot100刷题日记——7.最大子数组和
class Solution { public:int maxSubArray(vector<int>& nums) {//方法一:动态规划//dp[i]表示以i下标结尾的数组的最大子数组和//那么在i0时,dp[0]nums[0]//之后要考虑的就是我们要不要把下一个数加进来,如果下一个数加进来会使结…...
LlamaIndex
1、大语言模型开发框架的价值是什么? SDK:Software Development Kit,它是一组软件工具和资源的集合,旨在帮助开发者创建、测试、部署和维护应用程序或软件。 所有开发框架(SDK)的核心价值,都是降低开发、维护成本。 大语言模型开发框架的价值,是让开发者可以更方便地…...
下一代电子电气架构(EEA)的关键技术
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...
CSDN gitcode代码推送
当我使用用户名密码时一直无法推送,报下面这个错误 找了半天才知道, 他这个git不能用账号密码推送代码,idea弹出来的用户名,就是你头像旁边这个,没有符号 密码需要你创建一个令牌 这个令牌才是你要填写的密码&#x…...
中级统计师-统计学基础知识-第五章 相关分析
第一节 相关关系 1. 函数关系 vs 相关关系 函数关系 定义:变量间存在严格确定性的对应关系(如 y f ( x ) y f(x) yf(x))例子:本金 x x x 与利息收入 y x 0.027 x y x 0.027x yx0.027x特点:一一对应ÿ…...
OpenCV CUDA模块图像过滤------用于创建一个最大值盒式滤波器(Max Box Filter)函数createBoxMaxFilter()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 createBoxMaxFilter()函数创建的是一个 最大值滤波器(Maximum Filter),它对图像中每个像素邻域内的像素值取最…...
OpenCv高阶(十五)——EigenFace人脸识别
文章目录 前言一、EigenFace人脸识别原理二、EigenFace人脸识别代码1、导入OpenCV和NumPy库2、数据加载与预处理部分3、创建与训练EigenFace模型部分4、预测与结果输出部分5、可视化部分:在测试图像上叠加识别结果 总结 前言 人脸识别作为生物特征识别技术的重要分…...
Linux系统下nslookup命令的基本使用
Linux系统下 nslookup命令的基本使用 引言一、nslookup介绍二、使用帮助三、 基本使用方法1. 查询域名对应的IP地址2. 查询特定的DNS记录类型3. 使用特定的DNS服务器进行查询4. 交互模式 四、注意事项五、总结 引言 在网络管理中,DNS(域名系统ÿ…...
【笔记】PyCharm 中创建Poetry解释器
#工作记录 在使用 PyCharm 进行 Python 项目开发时,为项目配置合适的 Python 解释器至关重要。Poetry 作为一款强大的依赖管理和打包工具,能帮助我们更便捷地管理项目的依赖项与虚拟环境。下面将详细记录在 PyCharm 中创建 Poetry 解释器的步骤。 前提条…...
Qwen 3技术报告详细解读
近日,Qwen 3系列大模型正式发布,涵盖从0.6B到235B参数的多个规模版本,包括6个Dense模型和2个混合专家(MoE)模型。本文将从模型架构、预训练策略、后训练优化等方面进行全面解读,帮助读者深入理解Qwen 3的技…...
leetcode 螺旋矩阵 java
官方还得是官方! class Solution {public List<Integer> spiralOrder(int[][] matrix) {int l 0, r matrix[0].length - 1;int t 0, b matrix.length - 1;int x 0;List<Integer> res new ArrayList<>();while (true) {for (int i l; i …...
Spring Boot 项目中 Redis 存储 Session 对象序列化处理
目录 一、为什么需要序列化处理二、Spring Boot 集成 Redis 存储 Session2.1 添加依赖2.2 配置 Redis 三、自定义序列化和反序列化3.1 创建序列化配置类3.2 测试序列化和反序列化 四、其他序列化方式4.1 使用 JdkSerializationRedisSerializer4.2 使用 StringRedisSerializer 五…...
军工与航空航天特种PCB精密制造:猎板如何定义行业技术新标准?
一、军工与航空航天PCB的极限挑战 在低轨卫星载荷、战机航电系统等场景中,特种PCB需同时满足三大核心指标: 极端环境耐受性:工作温度横跨-55℃至200℃,承受20G机械振动与100krad辐射剂量,盐雾腐蚀测试超过50…...
springboot+vue实现鲜花商城系统源码(带用户协同过滤个性化推荐算法)
今天教大家如何设计一个 鲜花商城 , 基于目前主流的技术:前端vue3,后端springboot。学习完这个项目,你将来找工作开发实际项目都会又很大帮助。文章最后部分还带来的项目的部署教程。 系统有着基于用户的协同过滤推荐算法,还有保证…...
MyBatis 关联映射与多表查询实战教程
一、关联查询基础 1. 连接类型与选择 LEFT JOIN(左连接)SELECT u.*, r.role_name FROM User u LEFT JOIN user_role ur ON u.id = ur.uid LEFT JOIN Role r ON ur.rid = r.id;- **规则**:以左表为主,保留左表所有记录,右表无匹配时填充`NULL`。 - **场景**:查询主体…...
【AI流程应用】智能知识库搭建与实战应用
JeecgBoot 平台的 AIGC 功能模块,是一套类似 Dify 的 AIGC应用开发平台 知识库问答 子系统,是一款基于 LLM 大语言模型 AI 应用平台和 RAG 的知识库问答系统。 其直观的界面结合了 AI 流程编排、RAG 管道、知识库管理、模型管理、对接向量库、实时运行可…...
微店平台店铺商品接口开发指南
微店API获取店铺所有商品实现方案 以下是使用微店开放平台API获取店铺所有商品的完整实现代码,包含请求封装、分页处理和错误处理机制。 点击获取key和secret from weidian_api import WeidianAPI # 配置你的微店应用凭证 APP_KEY "your_app_key" APP_…...
springboot3+vue3融合项目实战-大事件文章管理系统-更新文章分类和增加文章分类优化-分组校验
因为我们之前在category实体类里面增加了notnull注解,而之前新增文章分类模块新增文章是不需要id的,而id是由数据库自动分配的,这就导致不能新增文章了,所以我们要进行分组校验 思路如下: 我们更改category代码&…...
Vue.js教学第九章:Vue动态与异步组件,高效开发全攻略
Vue 组件的动态与异步:探索高效开发路径 在 Vue.js 开发领域中,组件的动态与异步加载机制是构建复杂且高性能前端应用的关键策略。本研究深入探究 Vue 中动态组件与异步组件的原理、用法及性能优化实践,旨在为开发者提供全面且深入的技术指引,助力其在实际项目中高效运用。…...
CVE-2018-1270源码分析与漏洞复现(spring-messaging 表达式注入)
漏洞概述 CVE-2018-1270 是 Spring 框架中的一个高危远程代码执行(RCE)漏洞,影响版本为 Spring Framework 5.0–5.0.4 和 4.3–4.3.14。攻击者通过构造包含恶意 SpEL(Spring Expression Language)表达式的 STOMP&…...
DevOps学习回顾03-ops三部曲之配置管理(CM)
快速回顾 Ops 中配置管理的一些常见的方式,以及一些配置文件常见的组织形式 参考来源 极客时间-全栈工程师修炼指南-OPS三部曲之配置管理 什么是配置管理?–IBM 五大最流行的配置管理工具 为啥需要配置管理? CM 的主要目标是控制复杂系统…...
二进制编码、定点数与浮点数
1. 二进制编码 1.1. 字符串的表示,从编码到数字 不仅数值可以用二进制表示,字符乃至更多的信息都能用二进制表示。最典型的例子就是字符串(Character String)。最早计算机只需要使用英文字符,加上数字和一些特殊符号…...
CentOS:搭建国内软件repository,以实现自动yum网络安装
centosgit仓库_寂寞沙冷州的技术博客_51CTO博客 yum 很慢 centos yum安装慢_mob64ca1417b0c6的技术博客_51CTO博客 yum配置,文件,命令详解-CSDN博客 yum仓库简介_yum库是什么-CSDN博客 rootwww:/etc/yum.repos.d# pwd /etc/yum.repos.d ###创建下面这个.…...
C# AOP编程
AOP(面向切片编程的概念我这里就不介绍了,这里先介绍一下C#中的AOP编程框架。 1.AOP的分类 .net下支持AOP的框架很多,搜了一下有:PostSharp、AspectInjector、Fody 、Castle Windsor、Spring.NET、Ninject、Unity等,实现的方式主要…...
【Element UI排序】JavaScript 的表格排序sortable=“custom“和 @sort-change
目录 一、elementUI排序功能实际案例二、 实例2三、 实例3 Sortable — 是一个 JavaScript 库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序。 一、elementUI排序功能实际案例 表格每一项中加上sortable,可以展示排序的小图标。 在列中设置so…...
使用Jenkins部署nodejs前端项目
1. 安装node环境 1.1 下载 https://nodejs.org/zh-cn/download 1.2 解压到安装目录 tar -xJvf node-v22.15.1-linux-x64.tar.xz mv node-v22.15.1-linux-x64 /home/soft/ mv node-v22.15.1-linux-x64/ node22原本计划安装 node22和node18,但是CentOS7.9 GLIBCXX …...
阿里云域名 绑定 华为云服务器ip
阿里云(万网)域名转入华为云域名图文教程 上-云社区-华为云 阿里云(万网)域名转入华为云域名图文教程-云社区-华为云 在阿里云备案了域名,解析到华为云服务器,不在同一个服务商这样可以使用么?…...
在局域网(LAN)中查看设备的 IP 地址
在局域网(LAN)中查看设备的 IP 地址,可以使用以下几种方法: 方法 1:使用 ipconfig(Windows) 1. 打开 CMD: 按 Win R,输入 cmd,回车。 2. 输入命令&#…...
第3周作业-1层隐藏层的神经网络分类二维数据
文章目录 ***1层隐藏层的神经网络分类二维数据***1. 导入包2. 数据集2.1 导入数据集2.2 查看数据集图案2.3 查看数据集维度 3. Logistic回归3.1 Logistic回归简介3.2 Logistic回归模型3.3 绘制边界 4. 神经网络模型4.1 神经网络简介4.2 神经网络数学模型4.3 建立神经网络方法4.…...
中天智能装备科技有限公司:智能仓储领域的卓越之选
在仓储智能化转型的时代浪潮中,中天智能装备科技有限公司以深厚的技术积淀与创新实力,成为众多企业迈向高效仓储的理想合作伙伴。无论是自动化立体库的精准搭建,还是 AGV 系统的智能部署,中天都以专业姿态为行业树立标杆。 硬核…...
Linux nbd 网络块设备(2)-内核实现
Linux nbd网络块设备(2)-内核实现 关注我,一起学习吧,后续持续更新内核相关 1. 概述: 内核linux/drivers/block/nbd.c 是nbd 网络设备的底层驱动实现逻辑。本文主要介绍nbd 设备注册及I/O请求的处理逻辑。 2. nbd 设备的初始化࿱…...
Python输出与输入
White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🐹今日诗词:吟怀未许老重阳,霜雪无端入鬓长🐹 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏 ⛳️点赞 ☀️收藏⭐️关注Ǵ…...
【C语言】复习~数组和指针
数组和指针 1.字符指针 char* 使用方法一: 使用方法二: 这里本质上是把常量字符串的首地址放到了指针变量pstr里面 看下面的面试题 str3和str4指向的是同一个常量字符串,c/c会把常量字符串存储到一个单独的内存区域, 当几…...
rocketmq优先级控制 + 并发度控制
背景 最近在做大模型的项目,算法部门提供的文档解析接口, 并发度为1, 业务这边需要在ai问答和上传文档时进行解析和向量化,文档解析只能单线程跑,问答的文档解析需要高优先级处理。 采用 rocketmq 做文档上传和解析的…...
从0开始学linux韦东山教程第四章问题小结(2)
本人从0开始学习linux,使用的是韦东山的教程,在跟着课程学习的情况下的所遇到的问题的总结,理论虽枯燥但是是基础。说实在的越看视频越感觉他讲的有点乱后续将以他的新版PDF手册为中心,视频作为辅助理解的工具。参考手册为嵌入式Linux应用开发…...