Von Gast (nicht überprüft) , 29 April 2026

Der eingebaute Daemon

Git 2.36 fuhrte einen eingebauten fsmonitor-Daemon ein, der die Notwendigkeit externer Dienste wie Watchman eliminiert.

Lebenszyklus

git config core.fsmonitor true
git status
git fsmonitor--daemon status
git fsmonitor--daemon stop
git fsmonitor--daemon run

Wie er sich integriert

Wenn core.fsmonitor=true, fragt Git den Daemon nach geanderten Pfaden.

Speedup verifizieren

time git -c core.fsmonitor=false status
time git -c core.fsmonitor=true status
GIT_TRACE2_PERF=1 git status 2>&1 | grep fsmonitor

Ressourcennutzung

sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl fs.inotify.max_user_instances=8192

Mehrere Worktrees

Jeder Worktree erhalt seinen eigenen Daemon.

Logging

Logs landen in .git/fsmonitor--daemon.log, wenn im Debug gestartet.

Haufige Fehler

Auf Netzwerk-Dateisystemen ausfuhren, wo Anderungs-Events unzuverlassig sind (NFS, SMB).

Watchman vs eingebaut

Der eingebaute Daemon ist die empfohlene Standardeinstellung.