簡體   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