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

低成本和颜值兼顾的 HomeLab 设备:HPE MicroServer Gen10(二)

本篇文章,继续分享另外一台端午假期折腾的设备,HP MicroServer Gen10 一代。同样分享下我的折腾思路,希望能够帮助到有类似需求的你。

写在前面

两台 Gen10 摞一起的状态

Gen10 “标准版”(第一代)和 Plus 版本设计风格一致,同样颜值不低,除此之外机器通常是一块板载 CPU 的准系统(不含硬盘和内存、Plus 版本 CPU 可换),目前的设备二手价格在 1100 ~ 2200 块左右。

不做转接和外挂磁盘,默认四盘位

设备如果不运行高负载的任务,风扇声音并不高,你可以用它来做静音 NAS,插上七八块磁盘,论单盘位成本碾压成品 NAS。如果你有这块的诉求,可以翻阅下文中的“NAS 方向的关联阅读”小节中的内容。

这篇文章里,我对于它有其他的诉求。

上一篇文章中,我们聊到了《省心和颜值兼顾的 HomeLab 设备:HPE MicroServer Gen10 Plus v2(一)》,它目前运行者 HP 官方维护更新的 ESXi 8 虚拟化系统,计划托管我正在折腾的一些 AI 相关的小项目相关的数据:模型解析后的数据与原始数据的存储和备份。

除了“结果数据”、“原始数据”之外,其实还有一种数据状态,我们可以称它为“处理过程中的数据”。这些数据相比解析后的数据和原始数据而言,数据量其实更大,因为你的解析过程越多,一段时间内数据存储的份数越多,好在这些数据不需要存储太久,确认数据正确处理完毕后,就可以清理掉了,所以不需要太大的硬盘,能够存储中转数据即可。

勾勒设备画像

这台设备同样也运行在家里,和上一篇文章一样,除了数据存储外,我对它也有一些额外的需求:

  1. 噪音控制要好,虽然设备放置在机柜中,能够降低一些分贝数,但是主要还是需要设备本身能够相对保持安静。
  2. 尽可能低功耗,设备不承担计算部分,只作为可靠的临时存储资源来使用,尽量低功耗,低发热,低噪音。
  3. 多磁盘位支持,设备最好可以内部支持四盘位的存储,方便在这个存储设备涨价的季节,以相对低的成本购入数据存放的介质。
  4. 价格不能太贵,比较重的活儿都交给其他设备了,这台设备提供一个高性价比的磁盘位就好,不应该太贵。
  5. 设备颜值要高,毕竟放在家里,设备要有一个不错的颜值。

可以看到,除了第二点和前一台机器不同,其他的基本一摸一样。那么,让我们来分析下,这一次上面的需求如何被满足。

在上一篇文章的“勾勒设备画像”中提到的策略,我们就不再赘述了。重点来说说低功耗这部分。

低功耗设备选择

一般提到低功耗设备,我们很容易想到的有几类产品:

  1. Intel N/J 系列的 CPU,典型的比如 N3700 / N100 / N300 / J1900 / J3150 / J4125 / J5005 / J6005,功耗控制 6~10瓦左右,其中不少我都买过,如果是跑个文件下载或者简单的 NAS 还是不错的,但是这类 CPU 不支持 ECC 内存,在数据处理频繁的场景踩过不少坑。
  2. AMD Zen2 开始的移动端 CPU,典型的比如 Zen2 4800 / Zen3 5800 等等,功耗控制在 15~45瓦左右,性能非常好,目前家里还有两台设备在 7x24 运行。但是这类设备哪怕二手的价格都在 2000 元左右,并且同样不支持 ECC 内存,最关键的是成品机器(机箱)普遍支持的硬盘数量非常有限。
  3. ARM 架构的 CPU,各种成品 NAS 或者使用国产小芯片、电视盒子改造的轻量 NAS,普遍功耗只有几瓦,但是想找到多盘位、支持 ECC 内存的产品、价格相对便宜的,目前几乎没有,同时,IO 能力也非常有限。

上面这三类低功耗产品,有一个共性,就是普遍被市场诟病“性能不行”。如果我们从这个标签入手,寻找这几个系列之外的 CPU,会不会有所收获呢?比如,那么有没有一款产品,在当初发布时被诟病性能不行,但是支持多盘位呢?

2019 年组装的 ITX Gen8 多盘位主机

在搜索了各种设备后,我想到了我之前入手过改版的 Gen8 设备(黑群晖(Gen8)数据迁移白群晖(DS 920+)),它的升级版本 Gen10 不就是这样一台“弱鸡”设备嘛:搭载“AMD 皓龙 Opteron”的第一代 Gen10(产品规格)。

HPE MicroServer Gen10 三代产品线

这一代设备代号“多伦多”设备(AMD 赞助 F1,这个系列使用赛地城市命名),不论是搭载 28nm 的 X3216 还是 X3421 CPU的机型,在发布后网络上都是一片唏嘘之声,吐槽性能缩水的声音时至今日还在网络上能够被搜到。

Gen10 使用的代号 “多伦多” 的 CPU

因为这个 CPU 的发布时间在 2017 年,第一批机器的发布时间在 2018 年,距离现在有不少的时间,所以我们几乎不需要纠结这个机器的性能如何。低配版本单核是 J1900 的 2 倍,N100 的 一半,多核差不多就是 J1900 的性能,三分之一的 N100 的性能,胜在是最便宜的多盘位,带 ECC 支持的设备。

Gen10 日常开机待机时的功耗

Gen10 日常使用时的功耗

Gen10 关机待机功耗

相比较前代的 MicroServer 产品 Gen8,Gen10 设备正常运行功耗在 20~25 瓦,待机一般 15 瓦左右,关机功耗 1~2瓦,而 Gen8 除非选择 E3-1220v2 这类极低功耗(17瓦)的 CPU,一般功耗都在 50~60 瓦左右。

Gen10 主板真容

Gen10 PCIe 接口(机箱空间)

并且,这一代开始的设备支持的内存容量有大幅提升,支持到了 32GB 的 ECC 内存,还额外多了一个 PCIe 接口,方便进行扩展。

在官方文档站点中,你可以看到所有相关的内容,但是不建议你升级高版本的 BIOS,因为距海外论坛的用户反馈,新固件可能限制了设备可使用的 PCIe 配件。

NAS 方向的关联阅读

当然,如果你只要低成本、多盘位,或者想做低成本全闪存雷电 NAS,可以参考之前的折腾笔记:

  • 静音多盘位的方案: 《低成本搭建一台家庭存储服务器:前篇》、《低成本搭建一台 Unraid 家庭存储服务器:中篇》
  • 如果你对雷电全闪存 NAS 感兴趣,可以翻阅之前的这两篇文章:《廉价的全闪存雷电 NAS 折腾笔记:组网方案的选择》、《廉价的全闪存雷电 NAS 折腾笔记:NUC9 操作系统踩坑》

好了,让我们来完善这台机器的配件。

完善设备配件

因为设备默认带 CPU(板载 x3216),电源内置在机箱中,在我购置了两条 ECC 内存后,其实只要购置硬盘就能够开始使用啦。

购置硬盘和转接架

用作临时存储的国产硬盘

因为上文提到的存储使用场景,我没有选择类似上一篇的致态硬盘,而是选择了其他的更便宜的国产固态硬盘搭配一块闲置的铠侠 SSD 一起使用:中科存朱雀、光威奕 Pro、梵想。

出于成本和替换考虑,使用这些硬盘,在这个场景下作为临时存储性价比蛮高的。(还能顺带支持国货品牌的发展)

HPE Gen10 使用的硬盘转接架

和上一篇类似,因为这些硬盘都是 2.5 寸的磁盘,所以我们也需要硬盘转接架(~30块)来让他们能够上机使用。至于不推荐 NGFF 和转接卡的原因,上一篇文章已经提过,就不赘述啦。

Gen10 硬盘安装后

和上一篇文章提到的一样,安装在金属转换架上的 2.5 寸磁盘,因为接触金属支架和机箱,能够获得更好的散热水平,空出的空间也能够形成良好的散热风道。

Gen10 烤机半小时,停止后的硬盘温度

因为我的使用场景不是对磁盘进行持续读写,所以没有做这样的压力测试,更多时候,是数据处理程序的突发读写,所以我在做压力测试的时候和上一篇文章一样。

同样使用了这篇文章《开源的全能维护 U 盘工具:Ventoy》中 U 盘引导 PE 系统,对设备进行了一个小时的压力测试(测试 CPU & 内存 & 缓存)。除了可能是由于 PE 系统中的软件比较老,识别不到中科存固态硬盘的传感器之外,测试开始和结束时的硬盘温度几乎没有什么差别(个别磁盘零星涨了 1 度)。

因为选择了 2.5 寸硬盘和转接支架,硬盘安装都靠硬盘笼上部,硬盘底部距离主板上的 CPU 散热器的距离更远了(冗余多了一倍以上),自然也不会受到太多的 CPU 散热器的热传导的副作用影响。

运行系统的固态 U 盘

上一篇文章中,我的选择是将 ESXi 的引导系统安装在普通的 U 盘里。这篇文章里,我们换一个玩法。

运行系统的固态 U 盘

和上一篇文章不同的是,我选择将系统安装在固态 U 盘中,这样可以做到随意替换在主机上的其他磁盘,除了这块“系统盘之外”,所有的 SATA / PCIe 转接的磁盘都只存临时数据。在《硬件笔记:组装“固态 U 盘”的八年,从 100 块到 1000 块》这篇文章中,我聊过这个组装玩法,如果你感兴趣可以自行翻阅。

这里建议使用发热量较低的不带缓存的固态(还便宜),并且使用金属材质外壳的硬盘盒。 我选择的是一块闲置的 120GB 的老固态,之前从其他的小主机上拆下来的,搭配了一个 29 块钱的金属硬盘盒一起使用。

把 U 盘插到主机上

把组装好的 “U 盘” 插到主机上,“藏在” Gen10 机箱顶部就完事啦,机箱空余空间不少,所以走线可以不用反复折叠、辗转腾挪,省不少劲。因为 U 盘和机箱接触面都是金属材质,所以磁盘被动散热能力也不错。

购置 VGA 线或 VGA 转接 HDMI 转接口

对于这类“服务器”标签的设备,通常建议使用 VGA 接口来完成设备的首次部署安装。因为 Gen10 “标准版” 不支持 iLO,所以这次我们必须准备显示器的数据线。

VGA 转 HDMI 转接头

因为我没有 VGA 接口的显示器,所以我买了一个 VGA2HDMI 的转接口,使用起来没啥问题。

设备测试

本篇文章中的机器测试和上一篇类似,我只做了简单的内存测试、PE 中的系统压力测试。

虽然我同时测试了 x3216 和 x3421 两款机器,但是我目前只使用了 x3216 这台机器,所以就不贴 x3421 机器的情况啦(TLDR; 功耗是 x3216 的整整一倍,但是性能其实也就 NUC7 水平,不值得)。

进行高负载压力测试

差不多半个小时左右的测试时间,状况如下:

压力测试统计概况

因为软件不能正确识别传感器状况,所以对比 Gen10 Plus 的数值比较少。不过如果在测试过程中,切换到“传感器”页面,能够看到 CPU 温度最高大概 75 度,当测试停止,会很快降低到 50 度左右(PE 系统)。如果我们不使用这类带界面的系统,温度一般在 40 度左右。能够被检测到的硬盘温度,只有 1 度上升。

测试过程中,最高功耗

测试过程中,最高功耗在 40 瓦左右,是不是还挺香的?

系统压力测试记录 1

系统压力测试记录 2

缓存和内存的测试结果如下:

搭载 X3216 的 Gen10 整机状况

这颗 CPU 的实际识别信息如下:

X3216 CPU 具体信息

好了,大致了解了机器状况后,我们就可以开始 BIOS 设置和系统安装的步骤了。

系统安装

关于 Ubuntu 的安装、升级、维护,在之前的博客中多有提到,就不再做赘述。目前安装的最简单方法就是:

  1. 在 Ubuntu 官方下载 Ubuntu 24.04 Server 版本的 ISO。
  2. 根据这篇文章《开源的全能维护 U 盘工具:Ventoy》中的方法,制作引导 U 盘。
  3. 将 ISO 放置到 U 盘里,用 U 盘引导 Gen10 ,选择 ISO 镜像,“一路 next” 完成安装。

为了尽可能把这台性能孱弱的设备的有效性能用在我们的具体使用场景,我推荐在安装的过程中,选择最小化安装“minimal”,然后在默认安装配件中勾选 “Openssh Server” 即可。

这样完成安装的系统,待机大概就是上文中提到的 15 瓦左右啦。

卸载 Cloud Init

较新版本的 Ubuntu 都内置了 canonical/cloud-init,可以用它来自动化的处理云实例的配置和设置过程,无需人工干预。随着三年的开源项目迭代,软件目前支持多种云平台,从 AWS 到 Azure、GCP 等等,支持自动设置主机名称、配置网络接口、设置 SSH 密钥、安装软件包。

软件虽好,对于我们这台小主机来说,却是不必要的负担,为了降低不必要的负载,我们可以通过下面的命令,将 Cloud Init 完全卸载掉:

sudo apt purge cloud-init -y
sudo rm -rf /etc/cloud && sudo rm -rf /var/lib/cloud/
reboot

卸载后的主机的开机速度也能够更快一些。

必要的 BIOS 设置

Gen10 的 BIOS 设置菜单还是比较丰富的。

Gen10 BIOS 设置菜单

在 BIOS 中,选择“Advanced”、“Hardware Monitor Status”,我们能够看到设备的基础状况。

Hardware Monitor Status

默认情况下机器温度不是特别高,所以就扔室内或者机柜内就行,不必空调伺候。

Chipset IOMMU

在 Intel 芯片的设备中,为了支持虚拟化或者让 Docker 中的容器能够访问到硬件,我们一般会开启 VT-D,在 AMD 设备中,我们需要启动“Chipset”、“IOMMU” 选项。

STAPM Boost

在 “CPU Configuration” 中,建议启用 “C6 Mode” 和 “STAPM Boost Enable” 两个选项,通过这两个选项,我们能够让机器在低负载、空负载的时候功耗更低(绝大多数时间),在需要负载的时候,获得更高的性能,更快的完成任务,减少产生的热量,从而降低风扇速率以及整体功耗。

Restore On Power Loss

因为 Gen10 不具备 iLO 启动,所以我们可以设置“Chipset”中的“Restore On Power Loss”,让设备支持来电自启。搭配小米开关等能够远程控制的电源的方法,和一些简单的监控服务,就能够实现基础的远程维护管理啦。

设置启动顺序

最后,设置下系统默认的启动顺序为我们安装好系统的固态 U 盘即可。

其他

这台设备推出时间已经有一些年头了,虽说企业级的产品质量都远超一般预期(哪怕是工控),如果你也想入手这台设备,不妨选择出厂年份较近的,保存相对完好的。

当然,如果出现问题倒也不是什么问题,除了硬件不是特别好配,需要从其他的机器上拆卸替换外,官方的排障手册,网上积累的大量资料,都可以帮助我们节约不少时间。官方排障指南:HP ProLiant Servers Troubleshooting Guide。

最后

好了,这篇文章就先聊到这里,接下来有关这两款机器的内容,大概是可以专注的聊聊软件部分啦。

–EOF


我们有一个小小的折腾群,里面聚集了一些喜欢折腾、彼此坦诚相待的小伙伴。

我们在里面会一起聊聊软硬件、HomeLab、编程上、生活里以及职场中的一些问题,偶尔也在群里不定期的分享一些技术资料。

关于交友的标准,请参考下面的文章:

苏洋:致新朋友:为生活投票,不断寻找更好的朋友

当然,通过下面这篇文章添加好友时,请备注实名和公司或学校、注明来源和目的,珍惜彼此的时间 😄

苏洋:关于折腾群入群的那些事


本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

本文作者: 苏洋

创建时间: 2024年06月12日
统计字数: 9299字
阅读时间: 19分钟阅读
本文链接: https://soulteary.com/2024/06/12/the-cheap-and-beautiful-homelab-device-hpe-microserver-gen10.html

相关文章:

低成本和颜值兼顾的 HomeLab 设备:HPE MicroServer Gen10(二)

本篇文章,继续分享另外一台端午假期折腾的设备,HP MicroServer Gen10 一代。同样分享下我的折腾思路,希望能够帮助到有类似需求的你。 写在前面 Gen10 “标准版”(第一代)和 Plus 版本设计风格一致,同样颜…...

面试题:ArrayList和LinkedList的区别

ArrayList和LinkedList都是Java中实现List接口的集合类,用于存储和操作对象列表,但它们在内部数据结构、性能特性和适用场景上有所不同: 1.内部数据结构: ArrayList:基于动态数组实现。这意味着它在内存中是连续存储…...

【王树森】深度强化学习(DRL)学习笔记

目录 第一部分:基础知识1.机器学习基础2.蒙特卡洛估计3.强化学习基础知识3.1 马尔科夫决策过程马尔可夫决策过程(Markov decision process,MDP)智能体环境状态状态空间动作动作空间奖励状态转移状态转移概率 3.2 策略策略定义 3.3…...

LLM应用实战:当图谱问答(KBQA)集成大模型(三)

1. 背景 最近比较忙(也有点茫),本qiang~想切入多模态大模型领域,所以一直在潜心研读中... 本次的更新内容主要是响应图谱问答集成LLM项目中反馈问题的优化总结,对KBQA集成LLM不熟悉的客官可以翻翻之前的文章《LLM应用实战:当KBQ…...

Django框架中Ajax GET与POST请求的实战应用

系列文章目录 以下几篇侧重点为JavaScript内容0.0 JavaScript入门宝典:核心知识全攻略(上)JavaScript入门宝典:核心知识全攻略(下)Django框架中Ajax GET与POST请求的实战应用VSCode调试揭秘:L…...

web前端怎么挣钱, 提升技能,拓宽就业渠道

web前端怎么挣钱 在当今数字化时代,Web前端技术已成为互联网行业中不可或缺的一部分。越来越多的人选择投身于这个领域,希望能够通过掌握前端技术来实现自己的职业发展和经济收益。那么,Web前端如何挣钱呢?接下来,我们…...

基于Python的信号处理(包络谱,低通、高通、带通滤波,初级特征提取,机器学习,短时傅里叶变换)及轴承故障诊断探索

Python是一种广泛使用的解释型、高级和通用的编程语言,众多的开源科学计算软件包都提供了Python接口,如计算机视觉库OpenCV、可视化工具库VTK等。Python专用计算扩展库,如NumPy、SciPy、matplotlab、Pandas、scikit-learn等。 开发工具上可用…...

大型语言模型智能体(LLM Agent)在实际使用的五大问题

在这篇文章中,我将讨论人们在将代理系统投入生产过程中经常遇到的五个主要问题。我将尽量保持框架中立,尽管某些问题在特定框架中更加常见。 1. 可靠性问题 可靠性是所有代理系统面临的最大问题。很多公司对代理系统的复杂任务持谨慎态度,因…...

C语言内存管理

1.进程的内存分布 练习&#xff1a;编写一个程序&#xff0c;测试栈空间的大小 #include<stdio.h>#define SIZE 1024*1024*7void main (void) {char buf[SIZE];buf[SIZE-1] 100;printf("%d\n",buf[SIZE-1]); }如果SIZE 大小超过8M(102410248)&#xff0c;…...

AD24设计步骤

一、元件库的创建 1、AD工程创建 然后创建原理图、PCB、库等文件 2、电阻容模型的创建 注意&#xff1a;防止管脚时设置栅格大小为100mil&#xff0c;防止线段等可以设置小一点,快捷键vgs设置栅格大小。 1.管脚的设置 2.元件的设置 3、IC类元件的创建 4、排针类元件模型创建…...

基于MBD的大飞机模块化广域协同研制

引言 借鉴国外航空企业先进经验&#xff0c;在国内&#xff0c;飞机型号的研制通常采用基于模型定义&#xff08;MBD&#xff09;的三维数模作为唯一的设计制造协同数据源&#xff0c;从而有效减少了设计和制造部门之间的模型沟通成本和重构所需的时间&#xff0c;也减少或避免…...

鸿蒙轻内核M核源码分析系列二十 Newlib C

LiteOS-M内核LibC实现有2种&#xff0c;可以根据需求进行二选一&#xff0c;分别是musl libC和newlibc。本文先学习下Newlib C的实现代码。文中所涉及的源码&#xff0c;均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m 获取。 使用Musl C库的时候&#xff0c…...

力扣1818.绝对差值和

力扣1818.绝对差值和 把nums1拷贝复制一份 去重排序 对于每个nums2都找到差距最小的那个数(二分) 作差求最大可优化差值去重排序可以直接用set 自动去重排序了 const int N 1e97;class Solution {public:int minAbsoluteSumDiff(vector<int>& nums1, vector<i…...

矩阵练习2

48.旋转图像 规律&#xff1a; 对于矩阵中第 i行的第 j 个元素&#xff0c;在旋转后&#xff0c;它出现在倒数第i 列的第 j 个位置。 matrix[col][n−row−1]matrix[row][col] 可以使用辅助数组&#xff0c;如果不想使用额外的内存&#xff0c;可以用一个临时变量 。 还可以通…...

2024海南省大数据教师培训-Hadoop集群部署

前言 本文将详细介绍Hadoop分布式计算框架的来源&#xff0c;架构和应用场景&#xff0c;并附上最详细的集群搭建教程&#xff0c;能更好的帮助各位老师和同学们迅速了解和部署Hadoop框架来进行生产力和学习方面的应用。 一、Hadoop介绍 Hadoop是一个开源的分布式计算框架&…...

力扣算法题:将数字变为0的操作次数--多语言实现

无意间看到&#xff0c;力扣存算法代码居然还得升级vip。。。好吧&#xff0c;我自己存吧 golang&#xff1a; func numberOfSteps(num int) int {steps : 0for num > 0 {if num%2 0 {num / 2} else {num - 1}steps}return steps } javascript: /*** param {number} num…...

vue前段处理时间格式,设置开始时间为00:00:00,设置结束时间为23:59:59

在Vue开发中&#xff0c;要在前端控制日期时间选择器的时间范围&#xff0c;可以通过以下方式实现&#xff1a; 使用beforeDestroy生命周期钩子函数来处理时间范围&#xff1a; 在Vue组件中&#xff0c;可以监听日期时间选择器的变化&#xff0c;在选择开始日期时&#xff0c;自…...

Java 8 新特性全面解读

Java 8&#xff0c;作为一次重大更新&#xff0c;于2014年引入了多项创新特性&#xff0c;极大地改善了Java的编程体验和性能。此版本不仅加入了对函数式编程的支持&#xff0c;还增强了接口的功能&#xff0c;引入了新的API&#xff0c;并优化了语言的整体效率。接下来&#x…...

JavaScript知识之函数

javascript函数 在JavaScript基础之上提供了部分函数,同时也可以自定义函数,JavaScript基础详见之前的文章javascript基础知识 自定义函数 //关键字 函数名 参数列表 函数体 function test(a,b,c){alert(a":"b":"c) }function test1(a,b){return a;//不…...

【Pepper机器人开发与应用】一、Pepper SDK for LabVIEW下载与安装教程

‍‍&#x1f3e1;博客主页&#xff1a; virobotics(仪酷智能)&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f4d1;上期文章&#xff1a;『一文汇总对比英伟达、AMD、英特尔显卡GPU』 &#x1f37b;本文由virobotics(仪酷智能)原创 &#x1f973;欢迎大家关注✌点赞&…...

HCIP-AI EI 认证课程大纲

该阶段详细介绍计算机视觉、注意力机制与Transformer、自然语言处理、语音处理等 AI 核心领域技术&#xff0c;并重点介绍华为云 EI 服务使用。 共计48 课时。第一节&#xff1a;计算机视觉技术概述与图像处理基础 - &#xff08;3 课时&#xff09; - 什么是计算机视觉&#x…...

@Test注解方法,方法无法执行

1.背景 写了一个测试方法,执行后如图 2.原因是 该项目是springbootgradle...构建的项目 在build.gradle配置文件中关闭了单元测试: test {useJUnitPlatform()// 是否启用单元测试enabled false } 3.处理方式 开启单元测试 test {useJUnitPlatform()// 是否启用单元测试ena…...

golang函数

【1】函数&#xff1a; 对特定的功能进行提取&#xff0c;形成一个代码片段&#xff0c;这个代码片段就是我们所说的函数 【2】函数的作用&#xff1a;提高代码的复用性 【3】函数和函数是并列的关系&#xff0c;所以我们定义的函数不能写到main函数中 【4】基本语法 func 函…...

ubuntu上存在多个版本python,根据需要选择你想使用的python版本

文章目录 前言一、二、使用步骤总结 前言 参考1 一、 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1二、使用步骤 总结...

idea 常用插件推荐

文章目录 1、Lombok2、Convert YAML and Properties File3、Grep Console4、MyBatisX5、Free MyBatis Tool6、MyBatis Log EasyPlus &#xff08;SQL拼接&#xff09;7、MyBatisPlus8、Eclipse theme9、Eclipse Plus Theme10、Rainbow Brackets Lite - Free and OpenSource&…...

训练大模型自动在RAG和记忆间选择

现如今&#xff0c;检索增强生成(Retrieval-augmented generation&#xff0c;RAG)管道已经能够使得大语言模型(Large Language Models&#xff0c;LLM)在其响应环节中&#xff0c;充分利用外部的信息源了。不过&#xff0c;由于RAG应用会针对发送给LLM的每个请求&#xff0c;都…...

抖店没人做了?不是项目不行了,而是商家们都换思路去玩了

我是王路飞。 有没有发现现在很多抖店新手都在吐槽&#xff0c;抖店不好做了&#xff0c;做不起来&#xff0c;没人做了&#xff0c;太内卷了...... 对这种做不起来还在怪项目本身的&#xff0c;一定要离他远一点&#xff0c;省得被他的负能量给影响到自己的状态。 任何项目…...

Qt5.15.2+VS2019新加类出现无法解析的外部符号

Qt5.15.2VS2019新加类出现无法解析的外部符号&#xff1a; 原因&#xff1a;没有生成对应的moc文件&#xff0c;导致没生成对应的元对象。 解决方案&#xff1a;记事本打开工程vcxproj&#xff0c;把报错的文件ClInclude&#xff0c;改为QtMoc&#xff0c;解决问题 未修改前&…...

启动mysql 3.5时出现 MySql 服务正在启动 . MySql 服务无法启动。

有可能是端口冲突 netstat -ano | findstr :3306运行这段代码出现类似&#xff1a; 可以看到端口 3306 已经被进程 ID 为 6284 的进程占用。为了启动新的 MySQL 服务&#xff0c;我们需要停止这个进程或更改新服务的端口&#xff1a; 1、终止进程 taskkill /PID 6284 /F2、确…...

并发编程理论基础——可见性、原子性和有序性问题(一)

核心问题&#xff1a;分工&#xff0c;同步&#xff0c;互斥 分工&#xff1a;如何高效地拆解任务并分配给线程 生产者-消费者模式、Thread-Per-Message模式、Worker-Thread模式、ComplateableFuture和CompletionServiceJava SDK 并发包里的 Executor、Fork/Join、Future 本质上…...

太原做网站的鸣蝉公司/网页百度网盘

来源&#xff1a;http://www.open-open.com/news/view/102a2de 特性一&#xff1a;正则表达式 相信大家都会非常喜欢这个特性&#xff0c;无须服务器端的检测&#xff0c;使用浏览器的本地功能就可以帮助你判断电子邮件的格式&#xff0c;URL&#xff0c;或者是电话格式&#x…...

怎么做网站和艺龙对接/58同城黄页推广

本文作者&#xff1a;CODING 用户 - 廖石荣 持续集成的概念 持续集成(Continuous integration,简称 CI&#xff09;是一种软件开发实践&#xff0c;即团队开发成员经常集成他们的工作&#xff0c;通常每个成员每天至少集成一次&#xff0c;也就意味着每天可能会发生多次集成。每…...

手机wordpress无法登录/百度提交收录入口

2019独角兽企业重金招聘Python工程师标准>>> 1.Redis简介 Redis 是一个开源&#xff08;BSD许可&#xff09;的&#xff0c;内存中的key-value数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中间件&#xff0c;解决了断电后数据完全丢失的情况。它支持多…...

怎么建立一个网站?/网站建设推广多少钱

2019独角兽企业重金招聘Python工程师标准>>> Spring Boot支持Java Util Logging、Log4J、Log4J2和LockBack作为日志框架&#xff0c;无论使用哪种日志框架&#xff0c;Spring Boot都为当前使用的日志框架的控制台及文件输出做好了配置。 默认使用LockBack日志框架。…...

在香港建设黄色网站是否违法/免费的推文制作网站

原因是Protocol buffers协议多了以后后整个项目比较大&#xff0c;超过了idea的限制了&#xff0c;调节下配置就可以了。找到idea安装目录bin/idea.properties文件 idea.max.intellisense.filesize92500 #默认2500...

什么网站做微信公众账号/网络营销课程个人总结3000字

原因&#xff1a;音频编码原来为AMR&#xff0c;ios那边貌似不支持这种音频编码 VideoAbsActivity.java 加了 mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 将音频录制格式从默认…...