原文收集自: https://wp.gxnas.com

注:本文基于 DS918+ 6.2.3-25426 测试通过,同时可以适用于其他系统以及其他型号的机器。

网上有不少这种教程了,一般都是说去设置 BIOS 来解决,不过经测试在关闭C 状态支持动态节能技术之后,网络复制速度倒是挺正常,但是 USB3.0 的读取速度依然很慢,而且波动很大,经常跑到几百KB/s。

通过查看资源监控里的磁盘利用率发现即使读取速度在几百 KB/s 的时候磁盘利用率依然达到 100%,这说明系统对 CPU 资源的调度明显出现了问题。

所以想到了可能是系统中断上面出了问题,于是 SSH 连接到群晖,使用cat /proc/interrupts命令发现大部分的系统中断都在使用 CPU0,而其他核心基本在围观,所以基本可以确定是这方面的问题了。

解决方法:

0. 进入 BIOS 设置,高级/CPU 配置:

  • Intel SpeedStep Technology (Intel 动态节能技术 )-> 开启
  • CPU C States Support (CPU C 状态支持 )-> 选择 C1
  • Enhanced Halt State (C1E) ( 增强型空闲状态 )-> 开启
  • Power Gear-> 运动模式(Sport Mode)

1. SSH 连接到群晖,sudo -i切换到 root,使用cat /proc/interrupts查看0000:00:12.00000:03:00.0xhci_hcdeth0i915这几行前面的数字并记下(如图是 371-375,一般开启了 VT-d 是这5个数字,没开 VT-d 就是 369-373)。

解决暴风二期黑群晖 USB3.0 复制速度慢速度不稳定的问题 智能生活 , 上那是云 微信截图_20200803131839.png/>

2. 执行synoservicectl –status irqbalance查看 irqbalance 服务的状态,如果不是 stop/waiting,继续执行synoservicectl –stop irqbalance命令停用 irqbalance 服务。

3. 分别执行下面几条命令(注意数字跟你上面看到的要对应)

开启了 VT-d 的:

echo 2 >/proc/irq/371/smp_affinity

echo 2 >/proc/irq/372/smp_affinity

echo 8 >/proc/irq/373/smp_affinity

echo 4 >/proc/irq/374/smp_affinity

echo 1 >/proc/irq/375/smp_affinity

没开 VT-d 的:

echo 2 >/proc/irq/369/smp_affinity

echo 2 >/proc/irq/370/smp_affinity

echo 8 >/proc/irq/371/smp_affinity

echo 4 >/proc/irq/372/smp_affinity

echo 1 >/proc/irq/373/smp_affinity

4. 回到 DMS,打开 控制面板 -> 计划任务,新增 触发的任务->用户自定义的脚本,创建一个开机触发任务。

解决暴风二期黑群晖 USB3.0 复制速度慢速度不稳定的问题 智能生活 , 上那是云 微信截图_20200803134353.png/>

运行脚本内容填写上面在终端运行的那几条命令

解决暴风二期黑群晖 USB3.0 复制速度慢速度不稳定的问题 智能生活 , 上那是云 微信截图_20200803134443.png/>

原理说明:

不建议关闭 CPU 的 C状态支持,实测在关闭后即使调整了 IRQ Affinity,USB3.0 依然不会满速,只是速度会稳定在一个可以接受的水平。

使用cat /proc/interrupts命令查看的几个中断号分别的对应关系:

0000:00:12.0 内置 SATA 控制器
0000:03:00.0 ASM1061SATA 控制器
xhci_hcd USB3.0
eth0 网卡
i915 核心显卡