系统版本:X86/ARM
设备环境:NanoPi M6 FNOS 1.1.24
BUG现象:SMB 读取掉速到 2.6MB/s ,写入速度正常。
出现频率:必现
手动可以修复
修改 /etc/samba/smb.conf
1. 致命伤:移除读取审计 (Read Audit)
在你的配置中: full_audit:success = ... pread_recv pread_send 这是最影响读取速度的设置。
- 原因:
pread 代表每一次实际的数据块读取。开启这个审计意味着 Mac 每读 64KB 的数据,Samba 就要往系统日志里写一行记录。这会造成严重的 I/O 阻塞和 CPU 中断,直接把千兆带宽降级到百兆甚至更低。
- 操作: 从
full_audit:success 列表中删除 pread_recv 和 pread_send。
2. 移除陈旧的 Socket 参数
这些参数在现代 Linux 内核和 macOS SMB 客户端之间往往会起到反作用:
Ini, TOML
socket options = TCP_NODELAY IPTOS_LOWDELAY
read raw = yes
write raw = yes
max xmit = 65536
large readwrite = yes
- 建议: 直接删除这几行。现代 Samba 会自动协商最佳的缓冲区大小。手动限制
max xmit(最大传输单元)往往会导致大数据块被强行拆分,降低效率。