找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4478

积分

0

好友

580

主题
发表于 昨天 04:02 | 查看: 9| 回复: 0

在云栈社区的硬件讨论区里,“系统盘明明跑分正常,用起来却总是一顿一顿”的帖子时不时就会出现。XDA 在 8 月 31 日发了一篇文章,把矛头指向了主板 UEFI 里的一个省电开关:ASPM。结论说得挺直接——关掉它,或许能减少 SSD 相关的响应延迟。

那半秒停顿,常出现在空闲后的第一次访问

装机的人基本都撞见过这类场景:游戏菜单里翻设置,切回对局的一瞬间卡一下;系统闲置一阵后再冷启动一个应用,明显比平时慢半拍;点开始传文件,进度条先停半秒才动起来。XDA 那篇文章的解释是,固件会让闲置的 SSD 进入低功耗状态来省电,等系统真正要用它时再唤醒,这个往返过程就带来了一小段延迟。文章还提到,不少用户关掉这个开关之后反馈稳定性、帧生成时间和响应都变好了。

技嘉主板BIOS高级设置界面,高亮显示PCIe ASPM Mode选项为Disabled

这三个被点名的场景有一个共同条件:存储和 PCIe 链路在事发之前都闲了一段时间。这类体感在性能指标里对应的叫尾延迟,也就是“空闲之后第一次访问要等多久”。它跟持续复制大文件时的稳定带宽是两条完全不同的曲线,拿后者去判断这个开关有没有用,很容易看错地方。不过话说回来,那批用户反馈没有附平台和前后数据,把它当线索看就好,别急着当结论。

PCIe链路睡下去,回到L0要付微秒级时间

ASPM 管的是 PCIe 链路的电源状态。链路空闲时允许进入 L0s、L1 这类低功耗状态,等有数据要传输时再回到全速的 L0,这个回程需要时间。规范把退出延迟分了档:L0s 的编码范围从低于 64 纳秒到高于 4 微秒,L1 从低于 1 微秒到高于 64 微秒。这是每次状态转换都要付的一次性成本,落在短突发请求里最容易被看见;持续读写时链路一直醒着,这段成本基本不出现。

三星980 PRO 2TB PCIe 4.0 NVMe M.2 SSD固态硬盘及Lonsbo散热片实物

几十到几百毫秒的体感停顿,是端到端路径叠加出来的结果。链路唤醒只占其中一小段,控制器、驱动、软件栈的等待都排在同一个队列里。所以这组机制更可能影响短突发和尾延迟,持续跑分曲线未必跟着变。这也解释了为什么很多人贴出 CDM 连续读写成绩说“没区别”,但实际用起来就是感觉不一样。

BIOS、Windows电源计划和SSD控制器,各管一段省电

真要动手验证,先会撞上三层各自独立的控制。

第一层在固件:Windows 能不能直接管理 PCIe 的原生电源功能,取决于 BIOS 有没有通过 ACPI _OSC 把控制权交给系统。一旦交出去了,你在 BIOS 里改的选项就未必还在起作用。

第二层在 Windows:电源计划里有单独一档 PCI Express 链接状态电源管理,可选 Off、Moderate 和 Maximum,它跟 BIOS 设置并存,谁生效得看交权结果。

第三层在 SSD 自己:NVMe 驱动 StorNVMe 会按空闲时间和延迟容忍度来管理 NVMe 控制器的电源状态,盘内还有一套 APST 自主切换机制。链路的 ASPM 开关可管不到它。

更麻烦的是,主板菜单还喜欢把一件事拆成好几个名字。华擎 Intel 800 系列的手册里,Native Control、CPU 下游 ASPM、PCH 下游 ASPM、DMI ASPM 各是独立项目,方向还不一定一致。照着教程进 BIOS 找不到同名选项,或者改完体感没变化,很可能就是你拧的那一层恰好不在当前生效的位置上。XDA 自己也承认,关掉 ASPM 拦不住 SSD 通过 APST 睡觉——链路醒了,控制器可能还躺着

插电台式机想试,就把响应、功耗和改动位置一起记下

这个开关为什么默认开着?微软的默认参数表把账算得挺清楚。StorNVMe 在 S0 平衡方案下,空闲超时交流供电给到 200 毫秒,电池供电只有 100 毫秒,对应的转换延迟容忍度分别是 15 毫秒和 50 毫秒。电源方案、供电方式一变,系统安排的睡眠深度就跟着变。笔记本和 Modern Standby 设备更依赖链路和控制器往深处睡,这个可以理解;但台式机插着电,用一点待机功耗换更低的尾延迟,这笔账很多人愿意算。不过关闭之后平台功耗会不会抬头、处理器还能不能进更深的封装省电状态,同样得记下来看。

想验证效果,就造一个“先空闲、再访问”的负载。微软的 DiskSpd 支持用 -i 设每次突发的 I/O 数量、-j 设突发之间的毫秒间隔,再加 -L 采集延迟信息。跑几轮带间隔的突发读取,重点看读取延迟的 99% 和 99.9% 分位与最大值。平均吞吐会把偶发慢请求稀释掉,高分位才接得住它们,每一档还得留够样本量。

改之前跑一组,改之后跑一组,BIOS 版本、驱动、电源方案、SSD 温度和后台负载全部保持一致,同时记录插座功耗、睡眠唤醒和稳定性,并注明这次改动落在固件菜单还是 Windows 电源计划里。机制本身是真实存在的,但幅度有多大,答案只在你这台机器的前后记录里。

你机器上那半秒停顿出现在什么场景?BIOS 里找到的选项叫什么,Windows 电源计划现在调在哪一档?插电台式机的你,愿不愿意为更低的尾延迟多付一点待机电费?




上一篇:华为/小米/荣耀多款机型集体涨价:最高涨1000元
下一篇:VAST发布Tripo P2.0原生四边面模型,95后团队半年融资50亿
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-9-3 20:07 , Processed in 1.088785 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表