繁体   English   中英

虚拟机 (VM) 中 NFS 上的文件修改监视(Webpack、Guard...)问题

[英]File modification watch (Webpack, Guard...) issue over NFS in Virtual Machine (VM)

我知道有多个线程在讨论NFS挂载卷和文件修改监视问题。 由于大多数讨论都是旧的,有些是 8 年前的,我的目标是整理一些并再次提出来检查你们用来处理这些问题的最新解决方案是什么。

核心问题
Linux 依赖于inotify ,一个 kernel 子系统,在文件被修改(更改/删除)时生成事件,开发人员工具最常使用这些事件来监视文件以触发某些任务。 核心问题是当您通过 NFS 协议共享卷/文件夹时,它不会生成事件,因此工具需要使用轮询方法而不是基于事件触发。

轮询方法通常会产生多个问题,例如高 CPU 使用率、因文件更改而延迟触发任务等。

一些观看工具:

热门话题

不错的解决方案尝试

我目前的挑战
我们使用 macOS 作为主机运行我们的开发环境,Vagrant(提供者 Virtualbox)以 Alpine Linux 作为来宾,Docker 容器用于服务(节点,NGINX ...),除了前端开发人员之外的所有设置都运行顺利需要使用 webpack 监视功能监视文件修改。 它适用于轮询,但有 3-10 秒的延迟。

关于如何解决此问题的任何更新或建议?

我已经能够通过将actimeo NFS 选项设置为 1 来解决这个问题。这减少了 NFS 缓存文件系统属性的时间长度,这似乎使主机和来宾保持接近同步。 Webpack watch now 几乎立即为我获取更改。

这是我用来实现此 NFS 共享的 VagrantFile 设置。 注意mount_options设置

config.vm.synced_folder "./my_host_syncd_folder", "/guest/path", type: 'nfs', mount_options: ['actimeo=1']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM