在Ubuntu中,使用Sublime修改文件,webpack-dev-server不自動編譯熱替換

1、問題可能出現的緣由

Linux中Inotify監控文件最大數量過少,致使程序不知道修改了文件。linux

注: Inotify 是一個 Linux 內核特性,它監控文件系統,而且及時向專門的應用程序發出相關的事件警告,好比刪除、讀、寫和卸載操做等shell

2、查看Inotify監控文件的最大數量

咱們能夠經過下面的shell命令來查看Inotify監控文件的最大數量:vim

sysctl -a | grep inotify

顯示的結果:
圖片描述
fs.inotify.max_queued_events: 表示調用inotify_init時分配給inotify instance中可排隊的event的數目的最大值,超出這個值的事件被丟棄,但會觸發IN_Q_OVERFLOW事件。
fs.inotify.max_user_instances: 表示每個real user ID可建立的inotify instatnces的數量上限,默認128.
fs.inotify.max_user_watches: 表示同一用戶同時能夠添加的watch數目(watch通常是針對目錄,決定了同時同一用戶能夠監控的目錄數量)spa

多是fs.inotify.max_user_watches太少,致使文件修改後不能監控到.net

3、解決辦法

修改系統的fs.inotify.max_user_watches的值,可使用下列兩種辦法來修改code

方法一: 使用Shell命令直接修改

sudo sysctl fs.inotify.max_user_watches=524288

方法二: 修改sysctl.conf配置文件

sudo vim /etc/sysctl.conf

在文件的末尾加上事件

fs.inotify.max_user_watches=524288

從新從配置文件「/etc/sysctl.conf」加載內核參數設置圖片

sudo sysctl -p /etc/sysctl.conf

查看修改後的結果

使用上述查看命令來查看是否修改爲功,執行結果爲:
圖片描述
發現fs.inotify.max_user_watches的數量已經變成咱們設置的值。get

注:想要了解更多sysctl知識,能夠點擊下面連接: sysctlit

相關文章
相關標籤/搜索