开源虚拟化管理平台Proxmox VE部署超融合
Proxmox VE 是一个功能强大、开源的虚拟化平台,结合了 KVM 和 LXC,同时支持高可用集群、存储管理(ZFS、Ceph)和备份恢复。相比 VMware ESXi 和 Hyper-V,PVE 具有开源、低成本、高灵活性的特点,适用于中小企业、开发测试环境以及私有云建设。如果需要一个免费的、开源的企业级虚拟化解决方案,PVE 是一个值得考虑的选择。
安装过程非常简单的,下面简单讲解一下部署超融合的步骤:
一、创建集群
下面是硬件配置,共三台
安装完之后创建集群
输入集群名称
检查输出状态没有问题之后关闭
创建好之后如下
登陆第二台服务器加入集群
出现下图 需要输入加入信息
加入信息在第一台复制,如下图
粘贴加入信息,并选择管理网卡和输入密码
下图出现关闭
刷新登陆可以看到下图
以此类推,把其余主机加入
二、创建网络用于连接存储
在每台主机上添加网络配置,这里使用的是Bond
下面是的Bond特点,请根据实际情况选择
模式 | 模式编号 | 特点 |
---|---|---|
LACP(802.3ad) | mode=4 | 需要支持 LACP 交换机,带宽聚合+负载均衡+故障恢复 |
Active-Backup | mode=1 | 简单,适合冗余,但不增加带宽 |
Balance-XOR | mode=2 | 负载均衡,需交换机支持 |
📌 最佳选择:LACP(802.3ad)
-
需要 支持 LACP(链路聚合控制协议)的交换机
-
在 交换机端 配置 LAG(链路聚合组)
-
双网卡 2x10Gbps,可提升到 20Gbps 带宽
因交换机不支持,所以这里选择了Active-Backup,注意要配置使用不同网段
应用配置让生效,生效如下图
应用之后如下图处于运行中
其余主机重复上述步骤
三、安装和配置Ceph
Ceph 是一个开源的分布式存储系统,在 Proxmox VE(PVE) 中可用于 高可用共享存储,支持 块存储(RBD)、文件存储(CephFS)和对象存储(RGW)。
📌 适用场景:
-
高可用存储:无单点故障,数据自动复制
-
Proxmox HA(高可用集群):支持 VM 迁移
-
分布式存储:自动均衡,扩展性强
每个节点至少 1 块 SSD/HDD(用于 OSD),前文有讲述,这里不再重复,开始配置:
下图因没有订阅,因此选择“无订阅”
下图输入Y完成安装
出现下图表示安装完成
选择上步创建的网络
-
public_network(192.168.88.0/24):用于客户端访问
-
cluster_network(192.168.99.0/24):专门用于 OSD 数据复制
下图表示成功
登陆到其余主机节点,按上面办法完成安装。
下图选择一个主机, 添加监视器
将各个节点全部添加进去
添加完如下图
添加完成后,主机状态显示running,表示正常。开始创建Ceph OSD
根据实际情况选择硬盘
添加完之后稍等几秒,如果没有up,可以手动启动
在每个节点上将硬盘添加上,例如三个节点,每个节点500GB,最终结果如下:
创建资源池
成功之后如下图
创建好的存储资源池
还可以在集群的“存储”中添加其他存储,如下图添加SMB/CIFS
结果如下
以上完成之后,就可以开始使用该存储创建虚拟机了。
通过以下可以监测到系统运行状态
四、安装系统
上传镜像
右上解创建虚拟机
下图中的资源池,在集群管理中创建即可
其余按提示即可,在下图开始管理
五、配置所有节点都能访问ISO
如果希望所有节点都能访问 ISO,需要 NFS 共享 ISO 目录,或手动同步。
我们通过SMB加载ISO文件,将ISO镜像添加到下图的SMB存储内容中就可以在安装操作系统时选择共享存储中的ISO镜像文件了
下面就可以上传ISO镜像到SMB共享存储中了。建议使用NFS。
如果无法上传ISO镜像,可能是local空间满了(不要往local上传文件,该目录可用空间大小影响上传ISO文件的大小),可以增加空间,或者删除临时文件
rm -rf /var/tmp/*
六、使用HA
即使启用了 HA(高可用) 和 共享存储,在创建虚拟机(VM)时,仍然需要指定一个初始运行的 节点主机。但 HA 会自动处理故障转移,具体行为取决于 HA 配置。
为什么需要选择节点?
1.虚拟机总是需要一个初始运行的节点
-
在 Proxmox VE 中,每台物理服务器(节点)运行
pve-cluster
服务,虚拟机必须在某个节点上启动。 -
共享存储(如 Ceph、NFS、iSCSI、SMB)让 VM 的磁盘数据可在多个节点间访问,但不会自动选择在哪个节点创建 VM。
2.HA 仅在故障时才会迁移 VM
-
你选择的初始节点 正常运行时,VM 会一直运行在该节点。
-
只有当 选定节点故障,HA 机制才会自动迁移 VM 到其他可用节点。
如何让 Proxmox 选择最优节点?
如果你不想手动选择节点,可以使用 HA 组(HA Groups),方法如下:
1. 创建 HA 组
在 Proxmox Web UI:
-
进入 Datacenter → HA → Groups
-
创建一个 HA 组,勾选 restricted(限制 VM 只能运行在此组内的节点)
-
添加多个节点,并设定优先级
选项 | 作用 | 是否推荐使用? | 适用场景 |
---|---|---|---|
restricted | 限制 HA 资源只能在指定节点上运行 | 建议在特定情况下使用 | 有 PCI 直通、CPU 架构不同、需要绑定特定节点 |
nofailback | 防止 HA 资源在故障节点恢复后自动回迁 | 推荐使用 | 避免 VM 频繁迁移、提升稳定性 |
2. 创建 VM 并加入 HA
-
创建 VM 时,仍然需要手动选择一个初始节点。
-
然后进入 Datacenter → HA → Resources,添加该 VM 并指定它的 HA 组。
这样,如果 VM 运行的节点故障,Proxmox 会根据 HA 组规则自动选择一个 健康的节点 启动 VM。
七、出现手动关半节点如何自动迁移虚拟机
ha-manager set vm:<VMID> --migration=relocate
这个命令需要 针对每个 HA 受管的虚拟机 单独设置。
如何批量设置所有 HA VM?
如果你有多个 VM,可以用以下方法 批量设置:
方法 1:使用 for 循环(推荐)
你可以用 shell 脚本 一次性修改所有 HA 受管 VM:
for VMID in $(ha-manager status | awk '/vm:/ {print $2}' | cut -d':' -f2); doha-manager set vm:$VMID --migration=relocate
done
这个脚本会:
-
获取所有 HA 受管的 VMID
-
依次执行
ha-manager set vm:<VMID> --migration=relocate
这样就不需要手动一台台输入 VMID 了。
方法 2:手动对每个 VM 设置
如果你的 VM 数量不多,也可以手动执行:
ha-manager set vm:100 --migration=relocate
ha-manager set vm:101 --migration=relocate
ha-manager set vm:102 --migration=relocate
如何检查是否生效?
执行:
ha-manager status
看看每个 VM 的 migration
选项是否变成 relocate
。
其他 HA 迁移策略
如果你想了解更多 HA 迁移策略:
ha-manager set vm:<VMID> --migration=<策略>
其中:
-
relocate
:(推荐) 允许 VM 自动迁移 到其他节点 -
stop
:在故障时 直接关闭 VM(不迁移) -
freeze
:保持 VM 状态不变,不迁移、不重启
一般来说,relocate
是最好的选择,除非有特殊需求。
总结
方法 | 适用场景 | 命令 |
---|---|---|
单个 VM 手动设置 | 适用于 VM 数量少 | ha-manager set vm:<VMID> --migration=relocate |
批量设置所有 HA VM | 适用于 VM 数量多 | for 循环批量执行 |
检查是否生效 | 确认迁移策略是否更新 | ha-manager status |
批量修改所有 HA 受管 VM,这样以后关机节点时,VM 就会自动迁移到其他节点,不会直接关机。
八、PVE使用Ceph RBD作为VM存储性能优化
1、启用 RBD 缓存
在 PVE 服务器上:
ceph config set client rbd_cache true
ceph config set client rbd_cache_size 33554432 # 32MB
2、关闭 Ceph Debug 日志
ceph config set mon debug_mon 0
ceph config set osd debug_osd 0
3、调整 Ceph I/O 队列
ceph config set osd osd_op_num_threads_per_shard 4
ceph config set osd osd_op_num_shards 8
4、结论
✅ Ceph RBD 是 PVE 存储 VM 的最佳方案(高性能、高可用)。
✅ 通过 PVE Web 界面可以轻松添加 Ceph 存储。
✅ 优化 RBD 缓存、OSD I/O,可提高 Ceph 运行效率。
九、PVE+Ceph 性能优化:节点级别 & 全局级别
1、全局级别优化(所有 Ceph 节点同步)
这些配置 全局生效,只需在 一个 MON(监视器)节点 上执行,Ceph 会自动同步到所有节点。
✅ 1. 启用 RBD 缓存
ceph config set client rbd_cache true
ceph config set client rbd_cache_size 33554432 # 32MB 缓存
ceph config set client rbd_cache_max_dirty 25165824 # 25MB 写入缓存
ceph config set client rbd_cache_target_dirty 16777216 # 16MB 触发写入
ceph config set client rbd_cache_max_dirty_age 5 # 5秒后写入
✅ 作用:提高 RBD(VM 磁盘)的读写性能,减少 IO 延迟。
✅ 2. 关闭 Ceph Debug 日志
ceph config set mon debug_mon 0
ceph config set osd debug_osd 0
ceph config set mgr debug_mgr 0
ceph config set mds debug_mds 0
ceph config set client debug_client 0
✅ 作用:减少日志占用的 CPU 和 IO,提高性能。
✅ 3. 调整 Ceph I/O 线程
ceph config set osd osd_op_num_threads_per_shard 4
ceph config set osd osd_op_num_shards 8
✅ 作用:提高 OSD 处理请求的能力,减少 IO 阻塞。
✅ 4. 调整 CRUSH 规则,优化数据分布
ceph balancer mode upmap
ceph balancer on
✅ 作用:确保 Ceph 自动均衡数据分布,防止某些 OSD 过载。
2、节点级别优化(每个 PVE+Ceph 节点都要执行)
这些优化需要 在每个 OSD 节点(运行 ceph-osd
的服务器)手动执行。
✅ 1. 调整 BlueStore 缓存
在每个 OSD 节点上执行:
echo "bdev_sync_submit = false" >> /etc/ceph/ceph.conf
echo "bluestore_cache_size = 4294967296" >> /etc/ceph/ceph.conf # 4GB 缓存
echo "bluestore_cache_kv_max = 1073741824" >> /etc/ceph/ceph.conf # 1GB 作为 key-value 处理
echo "bluestore_cache_meta_max = 1073741824" >> /etc/ceph/ceph.conf # 1GB 用于元数据缓存
然后重启 OSD:
systemctl restart ceph-osd.target
✅ 2. 调整 Linux 内核参数
在每个 OSD 节点执行:
echo "vm.dirty_ratio = 10" >> /etc/sysctl.conf
echo "vm.dirty_background_ratio = 5" >> /etc/sysctl.conf
echo "vm.swappiness = 10" >> /etc/sysctl.conf
sysctl -p
✅ 作用:减少 Linux 对磁盘的写入压力,提高 Ceph 响应速度。
✅ 3. 启用 NOOP I/O 调度器(适用于 SSD)
如果 OSD 运行在 SSD/NVMe 上,优化磁盘调度:
echo "noop" > /sys/block/sdX/queue/scheduler
或者永久生效:
echo 'GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop"' >> /etc/default/grub
update-grub && reboot
✅ 作用:减少 SSD/NVMe 的调度开销,提高 IO 吞吐量。
3、计算节点优化(所有 PVE 计算节点执行)
即使某些节点没有 Ceph OSD,它们作为 Ceph Client(RBD 挂载 VM) 也可以优化性能。
✅ 1. 在 PVE 计算节点启用 KRBD
在 storage.cfg
中找到 Ceph RBD 配置,添加:
krbd 1
然后在 PVE 计算节点上运行:
systemctl restart pve-cluster pvedaemon
✅ 作用:让 VM 直接使用 Linux 内核的 RBD 驱动,提高磁盘性能。
✅ 2. 提高 QEMU-KVM 性能
编辑 /etc/modprobe.d/kvm.conf
:
options kvm ignore_msrs=1
options kvm-intel nested=1
然后运行:
update-initramfs -u && reboot
✅ 作用:优化 KVM 虚拟化,提高 VM 运行效率。
4、结论
✅ 全局优化(MON 节点执行一次):Ceph RBD 缓存、I/O 线程、日志优化、CRUSH 规则。
✅ OSD 优化(每个 OSD 服务器执行):BlueStore 缓存优化、Linux 内核优化、SSD 调度优化。
✅ PVE 计算节点优化(所有 PVE 服务器执行):启用 KRBD,提高 KVM 性能。
如果你希望进一步测试优化效果,可以:
fio --filename=/dev/rbd0 --direct=1 --rw=randrw --bs=4k --numjobs=4 --iodepth=32 --runtime=30 --time_based --group_reporting --name=test-rbd
这会测试 Ceph RBD 的 4K 随机读写性能,看看优化是否有效!
相关文章:
开源虚拟化管理平台Proxmox VE部署超融合
Proxmox VE 是一个功能强大、开源的虚拟化平台,结合了 KVM 和 LXC,同时支持高可用集群、存储管理(ZFS、Ceph)和备份恢复。相比 VMware ESXi 和 Hyper-V,PVE 具有开源、低成本、高灵活性的特点,适用于中小企…...
C语言基础要素(019):输出ASCII码表
计算机以二进制处理信息,但二进制对人类并不友好。比如说我们规定用二进制值 01000001 表示字母’A’,显然通过键盘输入或屏幕阅读此数据而理解它为字母A,是比较困难的。为了有效的使用信息,先驱者们创建了一种称为ASCII码的交换代…...
函数柯里化(Currying)介绍(一种将接受多个参数的函数转换为一系列接受单一参数的函数的技术)
文章目录 柯里化的特点示例普通函数柯里化实现使用Lodash进行柯里化 应用场景总结 函数柯里化(Currying)是一种将接受多个参数的函数转换为一系列接受单一参数的函数的技术。换句话说,柯里化将一个多参数函数转化为一系列嵌套的单参数函数。 …...
基于大模型的主动脉瓣病变预测及治疗方案研究报告
目录 一、引言 1.1 研究背景 1.2 研究目的 1.3 研究意义 二、大模型预测主动脉瓣病变原理 2.1 大模型介绍 2.2 数据收集与处理 2.3 模型训练与优化 三、术前预测与评估 3.1 主动脉瓣病变类型及程度预测 3.2 患者整体状况评估 3.3 手术风险预测 四、术中应用与监测…...
VSCode开发者工具快捷键
自动生成浏览器文件.html的快捷方式 在文本里输入: ! enter VSCode常用快捷键列表 代码格式化:Shift Alt F向上或向下移动一行:Alt Up 或者 Alt Down快速复制一行代码:Shift Alt Up 或者 Shift Alt Down快速保…...
AI助力PPT制作,让演示变得轻松高效
AI助力PPT制作,让演示变得轻松高效!随着科技的进步,AI技术早已渗透到各行各业,特别是在办公领域,AI制作PPT已不再是未来的梦想,而是现实的工具。以前你可能需要花费数小时来制作一个完美的PPT,如…...
行业专家视角下的技术选型与任务适配深度解析
行业专家视角下的技术选型与任务适配深度解析 一、任务属性与技术栈的映射逻辑 (1)学术类项目需优先考虑技术严谨性、可复现性和理论深度: 机器学习模型开发:PyTorchJupyterMLflow形成完整实验闭环,TensorFlow Exte…...
从零构建大语言模型全栈开发指南:第五部分:行业应用与前沿探索-5.2.1模型偏见与安全对齐(Red Teaming实践)
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 大语言模型全栈开发指南:伦理与未来趋势 - 第五部分:行业应用与前沿探索5.2.1 模型偏见与安全对齐(Red Teaming实践)一、模型偏见的来源与影响1. 偏见的定义与分类2. 偏见的实际影响案例二、安全对齐…...
JUC系列JMM学习之随笔
JUC: JUC 是 Java 并发编程的核心工具包,全称为 Java Util Concurrent,是 java.util.concurrent 包及其子包的简称。它提供了一套强大且高效的并发编程工具,用于简化多线程开发并提高性能。 CPU核心数和线程数的关系:1核处理1线程(同一时间单次) CPU内核结构: 工作内…...
OpenRouter开源的AI大模型路由工具,统一API调用
简介 OpenRouter是一个开源的路由工具,它可以绕过限制调用GPT、Claude等国外模型。以下是对它的详细介绍: 一、主要功能 OpenRouter专注于将用户请求智能路由到不同的AI模型,并提供统一的访问接口。它就像一个“路由器”,能…...
3.9/Q2,Charls最新文章解读
文章题目:Association between remnant cholesterol and depression in middle-aged and older Chinese adults: a population-based cohort study DOI:10.3389/fendo.2025.1456370 中文标题:中国中老年人残留胆固醇与抑郁症的关系࿱…...
水下图像增强与目标检测:标签缺失的“锅”?
水下图像增强与目标检测:标签缺失的“锅”? 在水下计算机视觉领域,图像增强和目标检测一直是研究热点。然而,一个有趣的现象引起了研究者的关注:在某些情况下,增强后的水下图像用于目标检测时,…...
从扩展黎曼泽塔函数构造物质和时空的结构-13
得到这些数据到底有什么用呢?无非都是振动,只有频率不同。电性振动和磁性振动的正交环绕关系,本质上只是某个虚数单位的平方倍数, 既然如此,我们就可以考虑,把电和磁当成同一种东西。比如通过改变真空介电常…...
Android学习总结之handler源码级
一、核心类关系与线程绑定(ThreadLocal 的核心作用) 1. Looper 与 ThreadLocal 的绑定 每个线程的 Looper 实例通过 ThreadLocal<Looper> sThreadLocal 存储,确保线程隔离: public final class Looper {// 线程本地存储&…...
多模态学习(八):2022 TPAMI——U2Fusion: A Unified Unsupervised Image Fusion Network
论文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9151265 目录 一.摘要 1.1 摘要翻译 1.2 摘要解析 二.Introduction 2.1 Introduciton翻译 2.2 Introduction 解析 三. related work 3.1 related work翻译 3.2 relate work解析 四…...
adb检测不到原来的设备List of devices attached解决办法
进设备管理器-通用串行总线设备 卸载无法检测到的设备驱动 重新拔插数据线...
探索高通骁龙光线追踪技术
什么是光线追踪? 光线追踪(Raytracing)是通过模拟现实世界中光线的传播过程并生成更加真实的效果的一种图形渲染技术。 早期在电影,动画,设计等领域已经使用软件摸拟光线追踪来渲染更加真实的图像。一般的做法是从相…...
qRegisterMetaType函数使用
一、有两种形式: 1、int qRegisterMetaType(const char *typeName) template <typename T> int qRegisterMetaType(const char *typeName #ifndef Q_CLANG_QDOC, T * dummy nullptr, typename QtPrivate::MetaTypeDefinedHelper<T, QMetaTypeId2<T&g…...
【北京化工大学】 神经网络与深度学习 实验6 MATAR图像分类
本次实验使用老师发的雷达奇妙数据 实验要求 读取图像形式的MASTAR数据 1、划分数据集为test/train 2、归一化 题目1:定义并训练线性分类器的神经网络 注:本次老师的要求是不限方法,使用pytorch尽可能提升精度 1、准备函数 #本文用的…...
Flutter 的开发环境搭建教程
为了配置Flutter的运行环境,首先我们需要确保你的开发环境支持Flutter,且相关工具都已经安装好。以下是详细的配置步骤: 1. 安装Flutter SDK Flutter是Google推出的用于开发跨平台应用的框架,支持Android、iOS、Web、桌面等多平台…...
MCP:让 AI 应用更聪明,只需几分钟
用 Leonardo.AI 和 FLUX Dev 模型生成(作者制作) 现在 AI 世界最新的趋势是 MCP(模型上下文协议)。 如果听起来无聊或者很复杂,别担心 —— 这是个非常简单又有效的工具,可以帮你从零开始构建更好的 AI 智能…...
【编程之路】动态格式化字符串
动态格式化字符串 1.代码功能2.关键组件解析3.完整流程4.示例场景5.注意事项6.典型用途7.总结 🚀 本文讨论的代码段来自《Python Cookbook》的《2.15.字符串中插入变量》。 针对下面这段代码,我们一起来分析一下。 class safesub(dict):""&qu…...
接收灵敏度的基本概念与技术解析
接收灵敏度是指接收机在特定条件下能够正确提取有效信号的最小输入功率。其技术原理可概括如下:灵敏度主要受热噪声、系统噪声系数及解调所需信噪比共同影响。根据公式(S 10lg(kTB) NF SNR)计算,其中k为玻尔兹曼常数(1.3810⁻ J/K…...
KUKA机器人软件WorkVisual更改语言方法
KUKA机器人的常用的工作软件WorkVisual软件在使用时也可以更改软件操作界面的语言。如果安装时语言没有选择中文,安装完成后也可以进行更改。以下通过WorkVisual 5.0版本进行简单介绍。 一、打开WorkVisual软件5.0版本; 二、在菜单栏选择【Ext…...
图形渲染: tinyrenderer 实现笔记(Lesson 5 - 7)
目录 Lesson 5: Gouraud shadingLesson 6: Shaders for the software rendererphongShading法线贴图Specular mapping 高光贴图tangent space normal mapping 切线空间法线贴图 Lesson 7: Shadow mapping GitHub主页:https://github.com/sdpyy 项目仓库:https://g…...
AiCube 试用 - 创建流水灯工程
AiCube 试用 - 创建流水灯工程 本文介绍了 Aiapp-ISP 仿真调试平台软件的 AiCube 工具,实现流水灯工程的快速创建的主要流程。 下载运行 下载 最新版 AIapp-ISP 软件; 解压并打开该软件,右侧操作界面选择并进入 Keil 仿真设置 标签项&…...
DBAPI设置服务器开机自启动
在 /etc/systemd/system 目录下创建一个新的服务文件,例如 dbapi.service [Unit] Descriptiondbapi standalone Service Afternetwork.target[Service] ExecStart/your-path/dbapi-enterprise-4.2.2/bin/dbapi.sh start standalone Restartalways Userroot[Install…...
“Nural”传感科技带给高速吹风筒的技术革命---其利天下技术
风筒界的革命,戴森将高速风筒带到了我们生活里,高速风筒的产生,将无刷电机的运用再一次向推到了我们新的产品领域。 然而随着智能家居领域的运用越来越广泛,戴森又将智能温控概念引入高速吹风筒,HD16引入“Nural”传感…...
DeepSeek-R1模型现已登录亚马逊云科技
在今年的Amazon re:Invent大会上,亚马逊CEO安迪贾西分享了公司内部开发近 1,000 个生成式 AI应用程序的经验教训。基于如此大规模的AI部署实践,贾西提出了三个关键观察,这些观察塑造了亚马逊在企业AI实施方面的方法。 第一点是,当…...
Python入门(8):文件
1. 文件基本概念 文件:存储在计算机上的数据集合,Python 通过文件对象来操作文件。 文件类型: 文本文件:由字符组成,如 .txt, .py 二进制文件:由字节组成,如 .jpg, .mp3 2. 文件打开与关闭…...
408 计算机网络 知识点记忆(4)
前言 本文基于王道考研课程与湖科大计算机网络课程教学内容,系统梳理核心知识记忆点和框架,既为个人复习沉淀思考,亦希望能与同行者互助共进。(PS:后续将持续迭代优化细节) 往期内容 408 计算机网络 知识…...
《Java编程思想》读书笔记:第九章 接口
目录 9.1抽象类和抽象方法 9.2接口 9.3完全解耦 9.4Java的多重继承 9.5通过继承来扩展接口 9.5.1组合接口时的名字冲突 9.6适配接口 9.7接口中的域 9.7.1初始化接口中的域 9.8嵌套接口 9.9接口与工厂 9.1抽象类和抽象方法 在第8章所有“乐器”的例子中,基…...
【gdutthesis模板】章节标题有英文解决方案
按下面格式修改代码即可 \section{中文{\rmfamily{English}}中文}{Chinese English Chinese}效果如下:...
【C语言入门】由浅入深学习指针 【第二期】
目录 1. 指针变量为什么要有类型? 2. 野指针 2.1 未初始化导致的野指针 2.2 指针越界导致的野指针 2.3 如何规避野指针 3. 指针运算 3.1 指针加减整数 3.2 指针减指针 3.3 指针的关系运算 4. 二级指针 5. 指针数组 5.1 如何使用指针数组模拟二维数组 上…...
循环神经网络 - 机器学习任务之异步的序列到序列模式
前面我们学习了机器学习任务之同步的序列到序列模式:循环神经网络 - 机器学习任务之同步的序列到序列模式-CSDN博客 本文我们来学习循环神经网络应用中的第三种模式:异步的序列到序列模式! 一、基本概述: 异步的序列到序列模式…...
Java 8 到 Java 21 系列之 Optional 类型:优雅地处理空值(Java 8)
Java 8 到 Java 21 系列之 Optional 类型:优雅地处理空值(Java 8) 系列目录 Java8 到 Java21 系列之 Lambda 表达式:函数式编程的开端(Java 8)Java 8 到 Java 21 系列之 Stream API:数据处理的…...
.NET 创建MCP使用大模型对话二:调用远程MCP服务
在上一篇文章.NET 创建MCP使用大模型对话-CSDN博客中,我们简述了如何使用mcp client使用StdIo模式调用本地mcp server。本次实例将会展示如何使用mcp client模式调用远程mcp server。 一:创建mcp server 我们创建一个天气服务。 新建WebApi项目&#x…...
podman和与docker的比较 及podman使用
Podman 与 Docker 的比较和区别 架构差异 Docker:采用客户端 - 服务器(C/S)架构,有一个以 root 权限运行的守护进程 dockerd 来管理容器的生命周期。客户端(docker 命令行工具)与守护进程进行通信&#x…...
智慧农业总体实施方案
智慧农业概念与背景智慧农业是结合现代信息技术,对农业生产全过程进行智能化管理和服务的新型农业模式。它基于物联网、云计算等技术,实现资源节约、效率提高,解决食品安全和环境污染问题。 农业发展现状与问题当前农业面临资源短缺、食品安…...
基础科学中的人工智能︱如何用机器学习方法求解排列型组合优化问题?
排列(permutation)作为一个重要的离散数学概念,许多实际问题可以被刻画为n个候选对象的排列。基于给定的目标函数求解最优排列具有丰富的理论和应用价值。特别地,在以排列型问题为代表的组合优化问题中,近年来机器学习…...
脑影像分析软件推荐 | NBS-Predict:基于脑网络的机器学习预测工具包
目录 1.软件界面 2.工具包功能简介 3.软件安装注意事项 1.软件界面 2.工具包功能简介 NBS-Predict(Network-based Statistic Predict)工具包是一种用于神经影像数据分析的预测性扩展工具,它结合了网络基础统计(Network-based S…...
一个alignment trap的解决办法
在移植一份代码时,遇到一个alignment trap的错误: 经过定位,触发alignment trap的汇编语句如下: printk("status %#x\r\n", stData.info->status); 38c0: f8d4 3181 ldr.w r3, [r4, #385] ; 0x181 38…...
AI+自动化测试:如何让测试编写效率提升10倍?
文章目录 摘要传统自动化测试的痛点编写测试用例太费时间测试覆盖率难以保证UI 测试维护成本高 AI 如何优化自动化测试?AI 生成单元测试:减少重复工作,提高覆盖率传统方法 VS AI 方法 使用 AI 生成 Python 单元测试自动补全边界情况传统方法 …...
服务器磁盘io性能监控和优化
服务器磁盘io性能监控和优化 全文-服务器磁盘io性能监控和优化 全文大纲 磁盘IO性能评价指标 IOPS:每秒IO请求次数,包括读和写吞吐量:每秒IO流量,包括读和写 磁盘IO性能监控工具 iostat:监控各磁盘IO性能,…...
使用typescript实现游戏中的JPS跳点寻路算法
JPS是一种优化A*算法的路径规划算法,主要用于网格地图,通过跳过不必要的节点来提高搜索效率。它利用路径的对称性,只扩展特定的“跳点”,从而减少计算量。 deepseek生成的总是无法完整运行,因此决定手写一下。 需要注…...
【动态规划】最长上升子序列模板
最长上升子序列 题目传送门 一、题目描述 给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 …...
【JavaEE进阶】Spring AOP入门
欢迎关注个人主页:逸狼 创造不易,可以点点赞吗 如有错误,欢迎指出~ AOP是Spring框架的第⼆⼤核⼼(第⼀⼤核⼼是 IoC) 什么是AOP? • AspectOrientedProgramming(⾯向切⾯编程) 什么是⾯向切⾯编程呢? 切…...
计算机视觉算法实战——基于YOLOv8的行人流量统计系统
✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ 引言:智能客流分析的市场需求 在零售、交通、安防等领域,准确的行人流量统计对于商业决策、公共安全管理…...
Apache Doris 2.1.9 版本正式发布
亲爱的社区小伙伴们,Apache Doris 2.1.9 版本已正式发布。2.1.9 版本对湖仓一体、倒排索引、半结构化数据类型、查询优化器、执行引擎、存储管理进行了若干改进优化。欢迎大家下载使用。 官网下载:https://doris.apache.org/download GitHub 下载&…...
浙江大学郑小林教授解读智能金融与AI的未来|附PPT下载方法
导 读INTRODUCTION 随着人工智能技术的飞速发展,智能金融已成为金融行业的重要变革力量。浙江大学人工智能研究所的郑小林教授在2025年3月24日的《智能金融:AI驱动的金融变革》讲座中,深入探讨了新一代人工智能在金融领域的应用及未来展望。 …...