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

【Prometheus监控Linux系统】

提示本文原创作品良心制作干货为主简洁清晰一看就会文章目录前言一、环境介绍二、安装node_exporter2.1 安装docker2.2 安装docker-compose2.3 安装node_exporter三、修改prometheus配置3.1 修改prometheus.yml3.2 设置触发器三、查看监控数据前言在复杂的运维体系中Linux服务的稳定性与性能直接关系到业务可用性。Prometheus作为云原生时代的监控利器以其多维数据模型和强大的PromQL查询语言正成为守护Linux服务的最佳选择。本文将带你快速落地Prometheus监控方案构建可观测性基线一、环境介绍主机名ip地址服务备注prometheus192.168.13.141docker、docker-compose、prometheus、alertmanager、node-exporter、grafana监控端已安装ubuntu192.168.13.142docker、docker-compose、node-exporter被监控端未安装关于监控端的服务我已经安装好了prometheus有两种安装方式二进制安装和docker安装本次实验使用的容器安装的后续被监控端我也统一使用容器部署大家可以自行选择关于监控端的服务如何安装这里不在赘述有不懂的同学可以查看此篇文章Prometheus二进制安装https://blog.csdn.net/m0_63756214/article/details/161196428?spm1001.2014.3001.5501Prometheus容器安装https://blog.csdn.net/m0_63756214/article/details/161225636?spm1001.2014.3001.5501二、安装node_exporter2.1 安装docker我的操作系统是ubuntu的centos安装docker可以参考下面这篇文章的1.1小节https://blog.csdn.net/m0_63756214/article/details/158650241?spm1001.2014.3001.5501被监控端ubuntu主机安装docker## 1. 安装必要的一些系统工具rootubuntu:~# apt-get updaterootubuntu:~# apt-get install ca-certificates curl gnupg## 2. 信任docker的gpg公钥rootubuntu:~# install -m 0755 -d /etc/apt/keyringsrootubuntu:~# curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgrootubuntu:~# chmod ar /etc/apt/keyrings/docker.gpg## 3. 写入软件源信息rootubuntu:~# echo \deb[arch$(dpkg--print-architecture) signed-by/etc/apt/keyrings/docker.gpg]https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(. /etc/os-releaseecho $VERSION_CODENAME) stable|\ sudo tee /etc/apt/sources.list.d/docker.list/dev/null## 4. 安装dockerrootubuntu:~# apt-get updaterootubuntu:~# apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginrootubuntu:~# docker --versionDocker version 24.0.2,build cb74dfc rootubuntu:~# systemctl start docker systemctl enable docker## 5. 配置docker镜像加速器rootubuntu:~# vim /etc/docker/daemon.json{registry-mirrors:[https://a88uijg4.mirror.aliyuncs.com,https://docker.lmirror.top,https://docker.m.daocloud.io,https://hub.uuuadc.top,https://docker.anyhub.us.kg,https://dockerhub.jobcher.com,https://dockerhub.icu,https://docker.ckyl.me,https://docker.awsl9527.cn,https://docker.laoex.link]}rootubuntu:~# systemctl daemon-reloadrootubuntu:~# systemctl restart docker2.2 安装docker-composeGitHub安装地址https://github.com/docker/compose/releases下拉选择适合自己系统的版本我选的是v2.38.0被监控端ubuntu主机安装docker-compose# 安装docker-composerootubuntu:~# lsdocker-compose-linux-x86_64 rootubuntu:~# mv docker-compose-linux-x86_64 /usr/bin/ #将包移到/usr/binrootubuntu:~# mv /usr/bin/docker-compose-linux-x86_64 /usr/bin/docker-compose #改名成docker-composerootubuntu:~# chmod x /usr/bin/docker-composerootubuntu:~# docker-compose version #查看docker-compose版本Docker Compose version v2.38.02.3 安装node_exporter被监控端ubuntu主机安装node_exporterrootubuntu:~# mkdir -p /opt/prometheusrootubuntu:~# cd /opt/prometheusrootubuntu:/opt/prometheus# vim docker-compose.yamlversion:3.8services:node_exporter:image:prom/node-exporter:v1.11.1container_name:node-exporterrestart:alwaysnetwork_mode:hostvolumes:-/proc:/host/proc:ro-/sys:/host/sys:ro-/:/rootfs:rocommand:---web.listen-address:9100---path.procfs/host/proc---path.sysfs/host/sys---path.rootfs/rootfs---collector.filesystem.ignored-mount-points^/(sys|proc|dev|host|etc|rootfs/var/lib/docker)($$|/)rootubuntu:/opt/prometheus# docker-compose up -d三、修改prometheus配置3.1 修改prometheus.yml监控端prometheus主机修改prometheus.yml文件rootprometheus:~# vim /opt/prometheus/prometheus/prometheus.ymlscrape_configs:# 增加一个名为node-exporter-linux的job-job_name:node-exporter-linuxscrape_interval:15sstatic_configs:# 填写linux的地址-targets:[192.168.13.142:9100]labels:instance:Linux服务器 rootprometheus:~# curl -X POST http://localhost:9090/-/reload浏览器访问prometheus ip:90090可以看到prometheus的实例多了一个node-exporter-linux3.2 设置触发器监控端prometheus主机修改alert.yml文件rootprometheus:~# vim /opt/prometheus/prometheus/alert.ymlgroups:-name:Prometheus alertrules:# 对任何实例超过30秒无法联系的情况发出警报-alert:服务告警expr:up 0for:30slabels:severity:criticalannotations:summary:服务异常,实例:{{ $labels.instance }}description:{{ $labels.job }} 服务已关闭-name:node-exporterrules:-alert:HostOutOfMemoryexpr:node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 10for:2mlabels:severity:warningannotations:summary:主机内存不足,实例:{{ $labels.instance }}description:内存可用率10%当前值{{ $value }}-alert:HostMemoryUnderMemoryPressureexpr:rate(node_vmstat_pgmajfault[1m])1000for:2mlabels:severity:warningannotations:summary:内存压力不足,实例:{{ $labels.instance }}description:节点内存压力大。 重大页面错误率高当前值为{{ $value }}-alert:HostUnusualNetworkThroughputInexpr:sum by (instance) (rate(node_network_receive_bytes_total[2m])) / 1024 / 1024100for:5mlabels:severity:warningannotations:summary:异常流入网络吞吐量,实例:{{ $labels.instance }}description:网络流入流量 100 MB/s当前值{{ $value }}-alert:HostUnusualNetworkThroughputOutexpr:sum by (instance) (rate(node_network_transmit_bytes_total[2m])) / 1024 / 1024100for:5mlabels:severity:warningannotations:summary:异常流出网络吞吐量实例:{{ $labels.instance }}description:网络流出流量 100 MB/s当前值为{{ $value }}-alert:HostUnusualDiskReadRateexpr:sum by (instance) (rate(node_disk_read_bytes_total[2m])) / 1024 / 102450for:5mlabels:severity:warningannotations:summary:异常磁盘读取,实例:{{ $labels.instance }}description:磁盘读取 50 MB/s当前值{{ $value }}-alert:HostUnusualDiskWriteRateexpr:sum by (instance) (rate(node_disk_written_bytes_total[2m])) / 1024 / 102450for:2mlabels:severity:warningannotations:summary:异常磁盘写入,实例:{{ $labels.instance }}description:磁盘写入 50 MB/s当前值{{ $value }}-alert:HostOutOfDiskSpaceexpr:(node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes 10 and ON (instance,device,mountpoint) node_filesystem_readonly 0for:2mlabels:severity:warningannotations:summary:磁盘空间不足告警,实例:{{ $labels.instance }}description:剩余磁盘空间 10% 当前值{{ $value }}-alert:HostDiskWillFillIn24Hoursexpr:(node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes 10 and ON (instance,device,mountpoint) predict_linear(node_filesystem_avail_bytes{fstype!~tmpfs}[1h],24 * 3600) 0 and ON (instance,device,mountpoint) node_filesystem_readonly 0for:2mlabels:severity:warningannotations:summary:磁盘空间将在24小时内耗尽,实例:{{ $labels.instance }}description:以当前写入速率预计磁盘空间将在 24 小时内耗尽当前值{{ $value }}-alert:HostOutOfInodesexpr:node_filesystem_files_free{mountpoint /}/ node_filesystem_files{mountpoint/}* 100 10 and ON (instance,device,mountpoint) node_filesystem_readonly{mountpoint/} 0for:2mlabels:severity:warningannotations:summary:磁盘Inodes不足,实例:{{ $labels.instance }}description:剩余磁盘 inodes 10%当前值 {{ $value }}-alert:HostUnusualDiskReadLatencyexpr:rate(node_disk_read_time_seconds_total[1m]) / rate(node_disk_reads_completed_total[1m])0.1 and rate(node_disk_reads_completed_total[1m])0for:2mlabels:severity:warningannotations:summary:异常磁盘读取延迟,实例:{{ $labels.instance }}description:磁盘读取延迟 100ms当前值{{ $value }}-alert:HostUnusualDiskWriteLatencyexpr:rate(node_disk_write_time_seconds_total[1m]) / rate(node_disk_writes_completed_total[1m])0.1 and rate(node_disk_writes_completed_total[1m])0for:2mlabels:severity:warningannotations:summary:异常磁盘写入延迟,实例:{{ $labels.instance }}description:磁盘写入延迟 100ms当前值{{ $value }}-alert:high_loadexpr:node_load14for:2mlabels:severity:pageannotations:summary:CPU1分钟负载过高,实例:{{ $labels.instance }}description:CPU1分钟负载4已经持续2分钟。当前值为{{ $value }}-alert:HostCpuIsUnderUtilizedexpr:100-(avg by(instance) (rate(node_cpu_seconds_total{modeidle}[2m])) * 100)80for:1mlabels:severity:warningannotations:summary:cpu负载高,实例:{{ $labels.instance }}description:cpu负载 80%当前值{{ $value }}-alert:HostCpuStealNoisyNeighborexpr:avg by(instance) (rate(node_cpu_seconds_total{modesteal}[5m])) * 10010for:0mlabels:severity:warningannotations:summary:CPU窃取率异常,实例:{{ $labels.instance }}description:CPU 窃取率 10%。 嘈杂的邻居正在扼杀 VM 性能或者 Spot 实例可能失去信用当前值{{ $value }}-alert:HostSwapIsFillingUpexpr:(1-(node_memory_SwapFree_bytes / node_memory_SwapTotal_bytes)) * 10080for:2mlabels:severity:warningannotations:summary:磁盘swap空间使用率异常,实例:{{ $labels.instance }}description:磁盘swap空间使用率80%-alert:HostNetworkReceiveErrorsexpr:rate(node_network_receive_errs_total[2m]) / rate(node_network_receive_packets_total[2m])0.01for:2mlabels:severity:warningannotations:summary:异常网络接收错误,实例:{{ $labels.instance }}description:网卡{{ $labels.device }}在过去2分钟接收错误率大于0.01当前值:{{ $value }}-alert:HostNetworkTransmitErrorsexpr:rate(node_network_transmit_errs_total[2m]) / rate(node_network_transmit_packets_total[2m])0.01for:2mlabels:severity:warningannotations:summary:异常网络传输错误,实例:{{ $labels.instance }}description:网卡{{ $labels.device }}在过去2分钟传输错误率大于0.01当前值:{{ $value }}-alert:HostNetworkInterfaceSaturatedexpr:(rate(node_network_receive_bytes_total{device!~^tap.*}[1m]) rate(node_network_transmit_bytes_total{device!~^tap.*}[1m])) / node_network_speed_bytes{device!~^tap.*}0.8 10000for:1mlabels:severity:warningannotations:summary:异常网络接口饱和,实例:{{ $labels.instance }}description:网卡{{ $labels.device }}正在超载当前值{{ $value }}-alert:HostConntrackLimitexpr:node_nf_conntrack_entries / node_nf_conntrack_entries_limit0.8for:5mlabels:severity:warningannotations:summary:异常连接数,实例:{{ $labels.instance }}description:连接数过大当前连接数{{ $value }}-alert:HostClockSkewexpr:(node_timex_offset_seconds0.05 and deriv(node_timex_offset_seconds[5m]) 0) or (node_timex_offset_seconds -0.05 and deriv(node_timex_offset_seconds[5m]) 0)for:2mlabels:severity:warningannotations:summary:异常时钟偏差,实例:{{ $labels.instance }}description:检测到时钟偏差时钟不同步。值为{{ $value }}-alert:HostClockNotSynchronisingexpr:min_over_time(node_timex_sync_status[1m]) 0 and node_timex_maxerror_seconds 16for:2mlabels:severity:warningannotations:summary:时钟不同步,实例:{{ $labels.instance }}description:时钟不同步-alert:NodeFileDescriptorLimitexpr:node_filefd_allocated / node_filefd_maximum * 10080for:1mlabels:severity:warningannotations:summary:预计内核将很快耗尽文件描述符限制description:{{ $labels.instance }}已分配的文件描述符数超过了限制的80%当前值为{{ $value }}## 重新加载配置rootprometheus:~# curl -X POST http://localhost:9090/-/reload浏览器访问prometheus ip:90090可以查看prometheus的报警设置三、查看监控数据登录grafana没有导入过prometheus数据源需要先导入数据源然后再创建dashboard不会操作的同学可以查看本文的第四节https://blog.csdn.net/m0_63756214/article/details/161225636?spm1001.2014.3001.5501导入过的只需要直接选择相应的job查看即可注文中若有疏漏欢迎大家指正赐教。本文为100%原创转载请务必标注原创作者尊重劳动成果。求赞、求关注、求评论你的支持是我更新的最大动力评论区等你

相关文章:

【Prometheus监控Linux系统】

提示:本文原创作品,良心制作,干货为主,简洁清晰,一看就会 文章目录前言一、环境介绍二、安装node_exporter2.1 安装docker2.2 安装docker-compose2.3 安装node_exporter三、修改prometheus配置3.1 修改prometheus.yml3…...

Co-IP/MS:蛋白免疫共沉淀质谱分析服务

免疫共沉淀质谱法(Co-IP/MS)是一种由免疫共沉淀技术联用质谱技术的蛋白互作研究技术,具备高分辨率鉴定和精确定量蛋白质复合物中每个组分的优势。Co-IP/MS使用靶向目标蛋白的特异性抗体,选择性地捕获目标蛋白质与其相互作用的分子…...

深度解析EdiZon:Switch游戏存档管理与内存编辑的进阶实战指南

深度解析EdiZon:Switch游戏存档管理与内存编辑的进阶实战指南 【免费下载链接】EdiZon 💡 A homebrew save management, editing tool and memory trainer for Horizon (Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/ed/EdiZon 在…...

波兰市场语音本地化迫在眉睫,ElevenLabs波兰语支持深度评测:WAV质量、时延、重音准确率98.7%实测数据曝光

更多请点击: https://kaifayun.com 第一章:波兰市场语音本地化战略紧迫性分析 波兰作为欧盟第六大经济体和中东欧数字化转型先锋,其语音技术采纳率正以年均23.7%的速度攀升。截至2024年Q2,波兰智能音箱渗透率达38%,而…...

如何快速掌握小程序UI组件库:Vant Weapp的5大优势与完整指南

如何快速掌握小程序UI组件库:Vant Weapp的5大优势与完整指南 【免费下载链接】vant-weapp 轻量、可靠的小程序 UI 组件库 项目地址: https://gitcode.com/gh_mirrors/va/vant-weapp Vant Weapp是一款轻量、可靠的小程序UI组件库,专为微信小程序开…...

从登录页到仪表盘:手把手教你为Vue2+Element后台管理系统添加中英文切换

从登录页到仪表盘:Vue2Element后台管理系统国际化实战指南 当产品经理突然要求为已有后台管理系统添加多语言支持时,许多开发者会陷入手忙脚乱的境地。本文将分享一套经过实战检验的国际化方案,不仅能快速实现基础功能,还能解决那…...

Win11Debloat终极指南:快速清理Windows系统臃肿的完整教程

Win11Debloat终极指南:快速清理Windows系统臃肿的完整教程 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter an…...

告别手动撮合!这款插件让量化回测全程智能省心

当你的策略信号发出买入指令,资金是否足够?保证金怎么算?扣完手续费和印花税,账户还剩多少? 这些“交易后处理”逻辑,听起来不难,亲手写过就知道有多绕。不同券商的计费规则各异,昨仓…...

Win11Debloat:Windows 11系统优化终极指南,免费提升电脑性能50%

Win11Debloat:Windows 11系统优化终极指南,免费提升电脑性能50% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes…...

Cursor Pro破解工具完整指南:三步实现永久免费使用AI编程助手

Cursor Pro破解工具完整指南:三步实现永久免费使用AI编程助手 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached y…...

Obsidian Local REST API:解锁个人知识库的自动化编程接口

Obsidian Local REST API:解锁个人知识库的自动化编程接口 【免费下载链接】obsidian-local-rest-api A secure REST API and Model Context Protocol (MCP) server for your vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-local-rest-api 你…...

浙江竹木纤维十大品牌厂家

在当下的装修市场中,竹木纤维墙板凭借环保、耐用、安装便捷等优势,成为主流墙面装饰材料。本次十大品牌评选综合研发能力、环保标准、产品品质、市场口碑和服务水平等维度。十大品牌亮点速览康品浙江德清康品集成家居股份有限公司是浙江源头企业&#xf…...

069、PCIE属性字段:缓存、顺序与安全

069、PCIE属性字段:缓存、顺序与安全 从一次DMA数据损坏说起 上个月调试一块自研的PCIE采集卡,遇到了一个诡异的问题:主机通过DMA从设备读取图像数据,大部分帧正常,但偶尔会出现局部数据错位,像是缓存没刷干净。用逻辑分析仪抓链路层报文,发现TLP(事务层包)本身完好,…...

MulimgViewer 终极指南:高效图片对比与拼接的完整解决方案

MulimgViewer 终极指南:高效图片对比与拼接的完整解决方案 【免费下载链接】MulimgViewer MulimgViewer is a multi-image viewer that can open multiple images in one interface, which is convenient for image comparison and image stitching. 项目地址: ht…...

068、PCIE标签(Tag)与事务ID:那些年我们追丢的TLP

068、PCIE标签(Tag)与事务ID:那些年我们追丢的TLP 从一次深夜调试说起 上个月帮同事看一个诡异的PCIE问题:DMA传输偶尔丢包,概率大概万分之三。逻辑分析仪抓到的TLP序列一切正常,但设备端就是偶尔收不到某个内存写请求。熬到凌晨三点,突然注意到一个细节——两个不同方…...

AI应用哪家性价比高

在当前数字化转型浪潮中,企业纷纷寻求AI应用来降本增效,但面对市场上琳琅满目的产品,“AI应用哪家性价比高”成为决策者最纠结的问题。性价比并非单纯的价格对比,而是功能、效率、易用性与实际价值的综合考量。本文将从行业痛点出…...

如何快速掌握NarratoAI:AI视频解说自动化的完整教程

如何快速掌握NarratoAI:AI视频解说自动化的完整教程 【免费下载链接】NarratoAI 利用AI大模型,一键解说并剪辑视频; Using AI models to automatically provide commentary and edit videos with a single click. 项目地址: https://gitcod…...

Google I/O 2026 发布会大招不断,免费用户能体验哪些新功能?

Google I/O 2026 发布会大招频出,免费用户能体验哪些新功能?每年五月,硅谷山景城都会热闹一次。Google I/O 是谷歌一年一度的开发者大会,但这些年它早就不只是给开发者看的了,普通用户、科技媒体、竞争对手&#xff0c…...

告别混乱搜索:Visual Paradigm 17.0 企业模型查找器(Enterprise Model Finder)深度使用指南

Visual Paradigm 17.0企业级模型检索革命:从精准定位到团队协作的全链路优化 在大型软件工程或复杂系统设计项目中,建模师们常常陷入"模型迷宫"的困境——当项目积累到数百个UML图、上千个业务流程图时,找到一个特定类定义或流程节…...

dy app抓包分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!抓包展示总结1.出于安全考虑,本章未提供…...

AI原生组织:从「加AI功能」到「长AI基因」,大企业实践与中小团队轻量思路揭秘

AI原生组织:从「加AI功能」到「长AI基因」的本质跃迁与落地路径AI原生组织并非给传统企业贴AI膏药,而是围绕人机协同重新设计业务逻辑、组织架构和激励机制。下面从认知误区切入,结合阿里、华为、传神等企业案例,拆解AI原生组织的…...

2026年最新解答:天学网的英语听力对孩子真的有用吗?

作为在英语听力教研领域深耕5年的从业者,今年Q1刚做完一轮主流AI英语听力工具的横评,刚好结合实测数据和一线教学反馈来客观回答这个问题,没有广告,全是干货。先聊聊当前英语听力训练的共性痛点我们团队最近1年调研了30多所公立校…...

ComfyUI InstantID终极指南:3步实现人脸完美保留的AI图像生成

ComfyUI InstantID终极指南:3步实现人脸完美保留的AI图像生成 【免费下载链接】ComfyUI_InstantID 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_InstantID 你是否曾经尝试过用AI生成图像,却发现生成的人物完全不像你想要的参考对象&am…...

PixelFlasher:5分钟掌握Pixel设备刷机与Root管理的终极指南

PixelFlasher:5分钟掌握Pixel设备刷机与Root管理的终极指南 【免费下载链接】PixelFlasher Pixel™ phone flashing GUI utility with features. 项目地址: https://gitcode.com/gh_mirrors/pi/PixelFlasher PixelFlasher是一款专为Google Pixel设备设计的图…...

区块链前端技术栈介绍

这是一份完整区块链前端的学习路径,基于当前市场需求和技术趋势。 🗺️ 技术路线总览 阶段 1:基础入门 (1-2个月) 阶段 2:核心 Web3 技能 (2-3个月) 阶段 3:高级应用开发 (3-4个月) 阶段 4:架构与优化 (2-…...

如何免费使用跨平台绘图工具draw.io桌面版:专业图表编辑器的完整指南

如何免费使用跨平台绘图工具draw.io桌面版:专业图表编辑器的完整指南 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop 还在为不同操作系统间的图表文件兼容性而烦恼吗…...

美国签证预约神器:3步告别熬夜抢号,智能锁定更早面试时间

美国签证预约神器:3步告别熬夜抢号,智能锁定更早面试时间 【免费下载链接】us-visa-bot US Visa Bot 项目地址: https://gitcode.com/gh_mirrors/us/us-visa-bot 还在为美国签证预约的漫长等待而焦虑吗?每天手动刷新页面却总是错过最佳…...

靠谱的江西靠谱单招机构哪家靠谱

每年单招报名前后,总有不少家长和同学跑来问我:“江西到底哪家单招机构靠谱?”说实话,这个问题没有标准答案,但如果你愿意听点实在的,我可以分享一下这几年自己观察到的和从往届学员那里听到的信息。为什么…...

市面上有哪些是真正高效的降AI率软件(规避AIGC机器检测)

最崩溃的不是查重难题,而是查重达标却AI率超标亮红灯;很多工具只会简单同义词替换、浅层改字,根本洗不掉AI专属句式、行文逻辑和高频模板话术,学校AIGC检测一查一个准,论文直接被标记为AI生成,想答辩都难。…...

Rust 核心理论: 高并发与异步(三)

写在前面 Rust 凭借其独特的所有权机制和借用检查器,在不依赖垃圾回收的前提下,实现了内存安全与线程安全的编译期保证。 然而,对于许多从 C/C、Java、Python 等背景转入 Rust 的开发者而言,所有权、生命周期、借用规则、内部可变…...