我有一个简单的家庭 setup:用 Raspberry Pi 定时拍照,图片存到 NAS 上。平时只是偶尔从macOS上mount NAS,用 ls 或 feh 看一看。
直觉上,这应该是个很轻量的操作,但现实是:
ls 目录非常慢问题的本质其实是:
远程文件系统 + 大量小文件 + metadata 操作(stat / readdir)
在 macOS 上,这类操作 会触发大量网络往返(round-trip),性能很容易崩掉。
优化 macOS 的挂载参数几乎不可能解决该问题,不如直接换思路:
把文件访问放到 Linux 环境中执行
我最终采用了:
feh 在容器内浏览图片
关键点只有一个:
Linux 的缓存(page cache / dentry / inode)更激进
带来的变化是:
性能提升来自两个层面:
1️⃣ 冷路径优化(第一次访问)
2️⃣ 热路径优化(后续访问)
👉 大量请求直接在内存中命中,不再访问