3) Bitdefender: Projekte sind schon ausgeschlossen? Gut. Dann zusätzlich die VS‑Code‑Systempfade (Extensions/Cache) in die Ausnahmen.
4) Wenn möglich: aktive Repos auf SSD/NVMe legen. HDD + viele kleine Dateien ist die perfekte Performance-Falle.
Wie es angefangen hat: das Piepen
Symptom: Windows piept (bei mir so etwas wie „2× kurz … lange Pause … dann 2× kurz schneller"), aber:
nicht beim Boot,
sondern während Windows läuft,
und gleichzeitig wird alles zäh.
Das ist beunruhigend, weil man zuerst an BIOS-Beepcodes denkt. Bei mir war es aber kein Boot-Problem — es war ein „System ist überlastet und Input fühlt sich an wie blockiert".
Diagnose: Task Manager & Ressourcenmonitor
1) Task Manager
CPU war nicht der Täter (bei mir ~17%). Auffällig war:
Disk deutlich hoch!
VS Code (Code.exe) mit spürbarer Disk‑Last
2) Der entscheidende Blick: Active Time & Queue
Im Ressourcenmonitor (Reiter „Datenträger") sieht man zwei Dinge, die oft mehr sagen als „MB/s":
Active Time 100% auf der HDD
Queue Length hoch (Stau an Anfragen)
Das fühlt sich dann so an:
Tippen laggt,
Klicks werden „verschluckt",
das System reagiert zeitversetzt,
und es kann sogar zu Pieptönen kommen.
Der eigentliche Root Cause
Bei mir war es eine Kollision aus:
1) Viele kleine Dateien
Node: node_modules/ (zigtausende Files)
PHP: vendor/
Python: .venv/, __pycache__/
Git: .git/ (Objects, Index, Status-Reads)
2) VS Code Watcher + Git Autorefresh
VS Code fragt Git regelmäßig ab.
Git touchiert dabei extrem viele Dateien.
3) Bitdefender scannt parallel
bdservicehost.exe liest mit.
Selbst wenn der Datendurchsatz „nur" 10–20 MB/s ist, kann eine HDD durch Random I/O komplett am Limit sein.
4) Mehrere Workspaces gleichzeitig
4 Fenster/Workspaces multiplizieren die Watcher‑Last.
Maßnahmen (Copy/Paste) + Begründung
A) VS Code / Cursor Einstellungen
Spalten
"git.autorefresh": false
User Settings
Verhindert permanentes Git‑Scannen im Hintergrund; reduziert I/O massiv.
files.watcherExclude für node_modules, vendor, etc.
User Settings
Tausende Dateievents weniger → weniger Disk‑Last → Antivirus wird seltener getriggert.
Große Workspaces auf SSD
Filesystem
HDD + Random I/O ist die schlechteste Kombi für Dev‑Repos.
Optional (wenn du ESLint/Prettier intensiv nutzt):
ESLint onType kann bei großen Monorepos gefühlt „dauerlaufen".
prettier.requireConfig verhindert, dass Prettier überall automatisch anspringt, wo es nicht soll.
B) Bitdefender Ausnahmen (Ordner)
Bitdefender akzeptiert typischerweise keine Wildcards wie **/node_modules/**. Das ist aber auch nicht nötig, wenn du deine Projekt-Roots sauber bündelst.
Empfohlene Ordner-Ausnahmen:
Spalten
Projekte (Root)
F:\\r4it und F:\\Vagrant
Deckt automatisch Unterordner ab (inkl. <code>node_modules</code>, <code>vendor</code>, <code>.venv</code>).
VS Code Extensions
%USERPROFILE%\\.vscode\\extensions
Verhindert Scans beim Laden/Updaten von Extensions.
VS Code User Data / Cache
%APPDATA%\\Code
Reduziert Schreib-/Leselatenzen durch Logs, Cache, State.
Git Installation (optional)
C:\\Program Files\\Git
Weniger Reibung bei Git‑Tooling.
C) Bitdefender Ausnahmen (Prozesse) – wenn ATD bei Ordnern nicht aktivierbar ist
Viele Bitdefender-UIs lassen Advanced Threat Defense (ATD) bei Ordnern nicht aktivieren. Dann hilft nur: Prozess-Ausnahmen.
Empfohlene Prozesse:
Spalten
VS Code
%LOCALAPPDATA%\\Programs\\Microsoft VS Code\\Code.exe
VS Code macht sehr viele Dateioperationen; ATD kann dabei bremsen.
Git touchiert extrem viele Dateien; verhindert „Scanner dazwischen".
Node
C:\\Program Files\\nodejs\\node.exe
Node‑Tools + Watcher + npm arbeiten mit sehr vielen kleinen Dateien.
PHP
php.exe (je nach Setup)
Composer/Vendor‑I/O, Scans, Builds.
Python
python.exe (je nach Setup)
venv/cache/test caches.
Security‑Hinweis: Ausnahmen nur für vertrauenswürdige Ordner/Tools setzen. Ich nutze das als Performance‑Tradeoff für Dev‑Ordner, nicht für Downloads/Random‑ZIPs.
Warum node_modules / vendor hier so wichtig sind
Diese Ordner sind nicht „groß", weil sie viel MB haben — sondern weil sie viel Anzahl an Dateien haben.
HDDs sind bei „vielen kleinen Reads" brutal langsam. Watcher + Git + Antivirus macht daraus eine Dauer‑Warteschlange.
Fazit
Der größte „Aha"-Moment für mich war, wie viel Git Autorefresh im Zusammenspiel mit einer HDD auslösen kann.
Wenn du nur eine Sache sofort testen willst: git.autorefresh aus — und beobachten, was mit Queue Length passiert.
Wenn der Editor plötzlich träge wirkt (Typing-Lag, hohe CPU, Lüfter), ist es oft nicht „die Extension", sondern das Zusammenspiel aus File-Watchern und Antivirus-Scanning.
So sieht die Belonung aus!
Das Ergebnis: Deutlich schnelleres Arbeiten. Die Queue Length sank von teilweise über 90.000 auf unter 15.000 — selbst mit mehreren geöffneten Workspaces.
Das hier ist eine pragmatische Checkliste — nimm nur die Punkte, die du brauchst.
Systeminformationen (eingekürzt)
- OS: Windows 10 Home (2009)
- CPU: Intel Core i9-13900KF
- RAM: 32 GB
- Storage: 1 TB NVMe (SSD) + 12 TB HDD (typ. 7200 RPM)
- Controller: SATA AHCI + NVMe
- VS Code: 1.106.3
- Bitdefender: Total Security Build 27.0.55.303
Rein rechnerisch hätte die Kombination aus moderner CPU, 32 GB RAM und NVMe+HDD die Last tragen können; der Engpass erklärt sich eher durch sehr hohe IOPS‑Last (viele kleine Dateioperationen) in Kombination mit AV‑Scans und Watcher‑Interaktionen.
Symptome
VS Code (oder Cursor/VSCodium) wird beim Tippen/Speichern langsam.
Git ist träge, git status dauert in großen Repos auffällig lang.
CPU-Last in Bitdefender/Antimalware oder im Watcher-Prozess.
Typische Ursache
Große Workspaces erzeugen viele Filesystem-Events.
Antivirus scannt die geänderten Dateien wiederholt.
Watcher triggert weitere Arbeit → Rückkopplungsschleife.
Empfohlene Maßnahmen
1) Workspace in Bitdefender (oder AV) ausschließen
Schließe den/die Root-Ordner aus, in denen deine Repos liegen.
Bei Vagrant/Shared-Folders auch diese Pfade ausschließen.