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

《服务器测试百日学习计划——Day6:NVMe架构深挖,搞懂controller、namespace和NVMe为什么快》

大家好我是JACK本篇是服务器测试百日学习计划Day6。Day5 我们搞清楚了存储体系全景今天往下钻一层——深挖 NVMe 架构搞懂 NVMe 为什么快以及 controller、namespace 到底是什么。一、四个最容易混的词先把这四个词彻底分清楚这是理解 NVMe 的基础。NVMe协议。定义的是主机怎么和高速 SSD 通信。PCIe总线。NVMe 盘通过 PCIe 跟 CPU 通信。U.2 / M.2物理形态。不是协议不是总线。SSD存储介质类型。所以一句最标准的话是我们这台服务器的两块盘是U.2 形态的 NVMe SSD通过PCIe 总线接到 CPU。还有一个常见混淆点——M.2 不等于 NVMe形态可以走的协议U.2NVMe企业级标配M.2NVMe 或 SATA两种都可以Day5 里我们的 sda/sdb 就是 M.2 形态 SATA 协议不是 NVMe。二、实机 NVMe 识别nvme list 总览[rootbogon ~]# nvme listNode SN Model Namespace Usage Format FW Rev ------------ ---------------- ------------------ ---------- ------------------- ------------ ------- /dev/nvme0n1 D77446D401J852 DERAP44YGM03T2US13.20TB /3.20TB512B 0B D7Y05M1F /dev/nvme1n1 D77446D4017E52 DERAP44YGM03T2US13.20TB /3.20TB512B 0B D7Y05M1F重点关注这几列字段含义Node设备节点路径Model硬盘型号Namespace命名空间编号Usage已用/总容量Format扇区格式512BFW Rev固件版本lspci 确认 PCIe 层[rootbogon ~]# lspci | grep -i non81:00.0 Non-Volatile memory controller: DERA Storage Device151582:00.0 Non-Volatile memory controller: DERA Storage Device1515这一步的作用是把块设备层nvme0n1和 PCIe 设备层81:00.0对应起来建立完整的链路认知。三、controller 和 namespace 是什么这是 Day6 最核心的概念面试高频题。controller控制器可以理解为主机和盘之间负责协议处理的逻辑单元。lspci里看到的 NVMe 设备本质上就是控制器级别的 PCIe 设备。namespace命名空间控制器下面暴露出来的逻辑存储空间。/dev/nvme0n1这个设备名拆开来看nvme0第0个 NVMe 控制器n1该控制器下的第1个 namespace一个 controller 下面可以有一个或多个 namespace。我们这台机器每块盘是一个控制器 一个 namespace 的标准配置。记住这句话controller 是控制器namespace 是控制器下面暴露出来的逻辑盘空间。四、NVMe 为什么快面试经常问标准答法记住这四点1. 走 PCIe 总线SATA 受限于 SATA/AHCI 体系物理带宽上限低。NVMe 直接走 PCIe带宽上限高很多。2. 多队列NVMe 支持多提交队列 多完成队列天然支持高并发 IO。SATA/AHCI 是单队列模式并发能力差很多。3. 低延迟NVMe 是专门为闪存设计的协议软件栈更轻延迟更低不像 AHCI 是从机械硬盘时代沿用下来的。4. 链路够宽结合 Day4 学的 PCIe 知识我们这台服务器的 NVMe 跑在 PCIe Gen4 x4理论带宽约 8GB/s。所以完整的标准答法是NVMe 能跑到 7GB/s是因为它走 PCIe Gen4 x4 总线协议本身支持多队列软件栈延迟低带宽和并发能力都比 SATA 体系强很多。五、nvme-cli 查看控制器和健康状态nvme id-ctrl 看控制器信息[rootbogon ~]# nvme id-ctrl /dev/nvme0n1NVME Identify Controller: vid:0x1d78# 厂商IDssvid:0x1d78# 子系统厂商IDsn:D77446D401J852# 序列号唯一身份编号mn:DERAP44YGM03T2US# 型号fr:D7Y05M1F# 固件版本ver:0x20000# NVMe协议版本NVMe 2.0tnvmcap:3200631791616# 总容量3.2TBnn:1# 该控制器下的namespace数量为1...ps0:mp:18.00W# 最大功耗状态ps4:mp:10.00W# 最低功耗状态重点关注sn序列号、mn型号、fr固件版本、verNVMe协议版本、nnnamespace数量。nvme smart-log 看健康状态[rootbogon ~]# nvme smart-log /dev/nvme0n1Smart LogforNVME device:nvme0n1 namespace-id:ffffffff critical_warning:0# 严重警告0表示正常temperature:43C# 当前温度available_spare:100%# 备用块空间100%冗余充足available_spare_threshold:30%# 低于30%会触发告警percentage_used:0%# 寿命消耗0%盘很新data_units_read:2,423,907 data_units_written:2,331,036 host_read_commands:175,882,364 host_write_commands:170,152,224 power_on_hours:1,253# 累计使用1253小时unsafe_shutdowns:297# 非正常掉电次数media_errors:0# 介质错误0表示正常num_err_log_entries:0# 错误日志条目0表示正常Temperature Sensor1:54C Temperature Sensor2:43C Temperature Sensor3:43C重点关注字段字段说明本机状态critical_warning严重警告0正常temperature当前温度43℃正常available_spare备用块空间100%充足percentage_used寿命消耗0%盘很新power_on_hours累计使用时间1253小时media_errors介质错误0正常num_err_log_entries错误日志0正常实际测试中每次验收新盘先跑一遍nvme smart-log重点看critical_warning、media_errors、percentage_used三项任何一项异常都要记录并评估是否需要换盘。六、Python 自动检测 NVMe# nvme_check.pyimportsubprocess# 打印 NVMe 总览print( NVMe List )nvme_listsubprocess.run([nvme,list],capture_outputTrue,textTrue).stdoutprint(nvme_list)# 统计 NVMe 数量countnvme_list.count(/dev/nvme)print(NVMe count:,count)# 打印 PCIe 层 NVMe 设备print( PCIe NVMe )pcie_nvmesubprocess.run([bash,-lc,lspci | grep -i nvme],capture_outputTrue,textTrue).stdoutprint(pcie_nvme)python3 nvme_check.py脚本目标把 NVMe 的块设备层和 PCIe 设备层对应起来一键输出。总结概念类型说明NVMe协议定义主机与高速SSD通信方式PCIe总线NVMe 的物理传输通道U.2 / M.2形态物理接口形态不代表协议controller控制器PCIe 设备层负责协议处理namespace逻辑盘空间controller 下暴露的存储单元nvme0n1里的 n1NVMe 快的四个原因PCIe 带宽高、多队列并发、低延迟软件栈、Gen4 x4 链路宽。下一篇 Day7 深入 RAID 控制器与逻辑盘结合 storcli64 实测数据讲 RAID 配置与排查敬请期待欢迎关注JACK的服务器笔记我们下篇见

相关文章:

《服务器测试百日学习计划——Day6:NVMe架构深挖,搞懂controller、namespace和NVMe为什么快》

大家好,我是JACK,本篇是服务器测试百日学习计划Day6。 Day5 我们搞清楚了存储体系全景,今天往下钻一层——深挖 NVMe 架构,搞懂 NVMe 为什么快,以及 controller、namespace 到底是什么。 一、四个最容易混的词 先把这四…...

灵毓秀-牧神-造相Z-Turbo在YOLOv11目标检测中的应用

灵毓秀-牧神-造相Z-Turbo在YOLOv11目标检测中的应用 1. 引言 目标检测是计算机视觉领域的核心任务之一,但在实际应用中常常面临图像质量不佳、目标遮挡、光照变化等挑战。传统的目标检测模型在处理复杂场景时,往往因为输入图像的质量限制而影响检测精度…...

AI替代不了芯片工程师?别太乐观,也别太悲观

每次技术革命,都会消灭一批旧岗位,创造一批新岗位。纺织机出来,手工织工失业了,但纺织厂的机械工程师需求量暴增。EDA工具普及之后,手工布线工程师消失了,但数字IC前端、后端工程师的岗位大量涌现。这次AI浪…...

CCAA | 2025年10月认证通用基础考试真题参考答案

一、单选题(每题 1 分,共 30 题)1.认证类型按对象划分,不包括()A. 产品认证 B. 管理体系认证 C. 服务认证 D. 政府机构认证答案:D解析:认证对象为产品、过程、管理体系、服务、人员。…...

Qt导航栏组件C01:IDE风格项目浏览器

目录 一、引言 二、最终效果预览 三、核心实现原理 3.1 布局结构设计 3.2 核心技术点 四、代码实现详解 4.1 项目结构 4.2 导航组件的核心代码 4.3 样式表设计 五、总结 源码下载 系列编号:C-01 导航风格:深色单栏侧边栏,多级树形文件导航,支持文件类型过滤与名称搜索,右侧…...

机械臂视觉抓取(三):从手眼标定到实际抓取

机械臂视觉抓取:从手眼标定到实际抓取 上一篇文章记录了机械臂手眼标定的两种方式(注意都是基于单相机),以眼在手上为例,可以通过棋盘格标定出相机坐标系和夹爪坐标系的关系。标定出这个关系,怎么通过视觉指…...

库克回应“退休传闻”:“我无法想象没有苹果的生活”

整理 | 苏宓出品 | CSDN(ID:CSDNnews)2026 年 4 月 1 日,Apple 即将正式迎来成立 50 周年纪念日。就在这个节点前夕,CEO Tim Cook 在《Good Morning America》栏目中,用一场约 5 分钟的简短采访&#xff0c…...

一篇文章帮你搞定时间复杂度、空间复杂度!!!

引言在数据结构中,我们常常会用到时间复杂度和空间复杂度,不仅在日常学习中要用到,面试的时候也会问道,我们要足够清晰了解这两个概念并且能够计算出对应算法题的时间复杂度和空间复杂度这两者,较为重要的是时间复杂度…...

STM32duino VL53L4CX多目标ToF测距驱动详解

1. 项目概述STM32duino VL53L4CX 是一个面向 STM32 平台(兼容 Arduino API 风格)的开源驱动库,专为意法半导体(STMicroelectronics)推出的 VL53L4CX 高精度飞行时间(Time-of-Flight, ToF)测距传…...

涨价4000元!新一代SU7售价21.99万元起;马斯克谈AI竞赛:中国会赢下地球,SpaceX赢下太空;OpenAI CEO发文感谢开发者却引众怒|极客头条

「极客头条」—— 技术人员的新闻圈!CSDN 的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。(投稿或寻求报道:zhanghycsdn.net)整理 | 苏宓出品 | CSDN(ID&…...

NodeRedTime:ESP32/ESP8266局域网轻量时间同步库

1. 项目概述 NodeRedTime 是一款专为 ESP32 和 ESP8266 平台设计的 Arduino 库,其核心目标是为资源受限的嵌入式 IoT 设备提供一种轻量、可靠且低功耗的本地时间同步机制。它不依赖于广域网(WAN)上的公共 NTP 服务器,而是将局域网…...

Luos串行网络协议:嵌入式微服务的确定性串行总线实现

1. 项目概述serial_network是 Luos 操作系统生态中专为串行总线设计的底层网络接口模块,其核心定位并非通用串口通信驱动,而是作为 Luos 微服务架构在物理层的确定性数据链路承载层。它不处理 UART 初始化、波特率配置或 GPIO 引脚复用等硬件抽象层&…...

小白也能懂:LingBot-Depth模型卡解读,快速上手单目深度估计

小白也能懂:LingBot-Depth模型卡解读,快速上手单目深度估计 1. 什么是LingBot-Depth模型? LingBot-Depth是一个专门用来"猜深度"的AI模型。想象一下,你给这个模型一张普通的彩色照片,它就能告诉你照片里每…...

互联网是从0到1,AI是1到无穷大

今日,移动广告巨头 AppLovin 联合创始人 Furqan Rydhan在 X(原推特)发布一篇长文《The Age of Abundance》直接引爆科技圈 —— AI Agent 不再是玩具,而是真正能干活、能交付、能信任的生产力。我们正在进入一个前所未有的丰裕时代。 今天用最通俗的话,把这篇刷屏长文的…...

java微信小程序的外卖点餐点单系统 商家协同过滤

目录商家协同过滤实现计划性能优化与评估系统集成项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作商家协同过滤实现计划 数据收集与预处理 收集用户历史订单数据、商家信息(如菜品、评分、…...

深度测评:2026年YOLO计算机视觉模型横评!目标检测哪家强?

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达文章来源于微信公众号:漠岩yggg本文仅用于学术分享,如有侵权,请联系后台作删文处理——目标检测哪家强?一篇帮你搞懂所有Y…...

鸿蒙权限管理:受限权限申请(六)

本文同步发表于我的微信公众号,微信搜索 程语新视界 即可关注,每个工作日都有文章更新 一、受限权限 受限权限是指默认不允许普通应用申请,只有在特殊场景下,通过应用市场(AGC)审核后才能使用的权限。 受…...

“基于粒子群算法的微网优化调度Matlab程序——考虑需求响应与能量约束的综合分析”

考虑需求响应的微网优化调度matlab 程序采用粒子群算法,风力发电机、光伏发电机、储能装置、燃气轮机、柴油机组等主体,考虑负荷需求响应、soc约束等,程序模块化编程,注释清楚,有对应资料一、程序概述 本程序基于粒子群…...

基于python大数据的天气可视化及预测系统

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实…...

保姆级教程:在NumPy实现的MLP中加入BatchNorm和Dropout(附完整代码)

从零实现NumPy版MLP:集成BatchNorm与Dropout的实战指南 如果你已经能用NumPy实现基础的多层感知机(MLP),却苦于模型在MNIST等数据集上表现不稳定、容易过拟合,那么Batch Normalization(批归一化&#xff09…...

亚洲美女-造相Z-Turbo在内容创作中的应用:社媒头像/壁纸/宣传图批量生成方案

亚洲美女-造相Z-Turbo在内容创作中的应用:社媒头像/壁纸/宣传图批量生成方案 1. 引言:当内容创作遇上AI美女生成 你有没有遇到过这样的烦恼?运营社交媒体账号,每天都要更新头像和背景图,找图找到眼花缭乱&#xff1b…...

JQ6500_Serial库详解:Arduino控制MP3模块全指南

1. JQ6500_Serial 库深度解析:面向嵌入式工程师的 MP3 模块全功能控制指南JQ6500_Serial 是一个专为 Arduino 平台设计的轻量级、高可靠性的串口通信库,用于完整控制 JQ6500 系列 MP3 解码模块(包括 JQ6500-28P 和 JQ6500-16P)。该…...

混合储能系统下垂控制策略在直流微网中的Simulink仿真研究(附参考文献)

混合储能系统/光储微网/下垂控制/Simulink仿真 注意版本2021A以上!!!! 由光伏发电系统和混合储能系统构成直流微网。 混合储能系统由超级电容器和蓄电池构成,通过控制混合储能系统来维持直流母线电压稳定。 混合储能系…...

WPF 仪表盘(Dashboard)的完整实现示例,聚焦工业上位机常见场景:实时圆形仪表盘(Circular Gauge) +线性仪表 +数字显示 + 多仪表联动

以下是针对 WPF 仪表盘(Dashboard) 的完整实现示例,聚焦工业上位机常见场景:实时圆形仪表盘(Circular Gauge) 线性仪表 数字显示 多仪表联动。示例使用免费/开源方式实现(避免商业控件依赖&a…...

工业数据可视化工具在智能制造、SCADA/HMI、生产监控、MES、能源管理等场景中扮演核心角色

工业数据可视化工具在智能制造、SCADA/HMI、生产监控、MES、能源管理等场景中扮演核心角色。2025–2026 年,随着 AI 驱动分析、信创适配、实时大屏、湖仓一体等趋势加速,工具选型已从“看图表美不美”转向“能否支撑业务闭环、AI 洞察、国产化合规、低 T…...

Z-Image-Turbo-辉夜巫女算法解析:深入理解其扩散模型与Token处理机制

Z-Image-Turbo-辉夜巫女算法解析:深入理解其扩散模型与Token处理机制 1. 引言 最近,一个名为“Z-Image-Turbo-辉夜巫女”的AI图像生成模型在开发者圈子里引起了不小的讨论。大家关注的焦点,除了它生成图片的速度和效果,更在于它…...

Vue—条件渲染与循环渲染

目录 v-if指令 v-if v-else-if v-else指令 template标签 v-show指令 v-if和v-show应该如何选择? v-for 遍历对象 遍历字符串 遍历指定次数 遍历数组 虚拟DOM和diff算法 虚拟DOM中key的作用(diff到底是怎么做对比?) 用…...

网络安全考量:保护cv_unet_image-colorization API接口免受攻击

网络安全考量:保护cv_unet_image-colorization API接口免受攻击 最近在帮一个朋友部署上色服务时,他问了我一个很实际的问题:“我把这个AI模型做成API开放出去,会不会被人搞垮?” 这个问题问到了点子上。确实&#xf…...

MATLAB 下载安装教程

安装前必看 软件名称:MATLAB适用系统:Windows 11所需知识:请确保你知道文件后缀、安装路径等概念需要下载的文件:我将安装包放在了对应版本的文件夹下了,为了避免选择困难,每个文件夹下仅有一个版本&#x…...

保姆级教程:Qwen3-VL-8B镜像部署与使用,图文并茂一看就会

保姆级教程:Qwen3-VL-8B镜像部署与使用,图文并茂一看就会 1. 为什么选择Qwen3-VL-8B Qwen3-VL-8B是阿里通义实验室推出的轻量级多模态大模型,仅80亿参数就能实现强大的图文理解能力。相比同类模型,它有三大突出优势:…...