DerivedData, npm, pip, Cargo und Gradle auf der RAM-Disk

DerivedData, npm, pip, Cargo und Gradle auf der RAM-Disk

Ein Build schreibt Tausende kleiner Dateien, die einen Tag später niemand mehr braucht: DerivedData, target, build, Paket-Caches. Auf einer RAM-Disk passiert das alles im Arbeitsspeicher: Builds und Cache-Zugriffe werden schneller, und die SSD wird geschont. Hier lesen Sie, welche Ordner sich lohnen, mit welcher Einstellung jedes Tool umzieht und wie das Ganze einen Neustart übersteht.

Kurz gesagt
  • Verschieben: Xcode DerivedData, Caches von npm, pip, Cargo und Gradle, Build-Ordner, TEMP.
  • Nie nur im RAM: Quellcode, Repositorys, Archive, alles nicht Gespeicherte oder nicht Committete.
  • Über Neustarts behalten: Paket-Caches ja, DerivedData und Build-Ordner nach Bedarf.
  • Größe: 2 GB für einen Paket-Cache, 8 GB für mehrere Caches oder DerivedData.

Was auf die RAM-Disk gehört und was nicht

Eine RAM-Disk verliert ihre Dateien, wenn sie ausgeworfen oder der Computer ausgeschaltet wird, es sei denn, die Dateien werden gesichert. Sie eignet sich also für Ordner, die ein Tool selbst neu erzeugt oder herunterlädt.

Gut auf der RAM-Disk
  • Xcode DerivedData: Build-Produkte und Indizes
  • Caches von npm, Yarn, pip, Cargo, Gradle, Maven
  • Build-Ausgabe: target, build, obj
  • TEMP unter Windows, TMPDIR auf dem Mac
Auf der SSD lassen
  • Quellcode und Git-Repositorys
  • Xcode-Archive ausgelieferter Builds
  • Einstellungen und Zugangsdaten: ~/.npmrc, gradle.properties
  • Alles, was es nur einmal gibt

Von Hand: Tool für Tool

Legen Sie zuerst eine RAM-Disk an (auf dem Mac, unter Windows) und leiten Sie dann jedes Tool in einen Ordner darauf um. Alle Einstellungen stammen aus der Dokumentation der Tools selbst.

Tool Standardordner So ziehen Sie ihn um
Xcode DerivedData ~/Library/Developer/Xcode/DerivedData Xcode > Settings > Locations > Derived Data: Custom. In Skripten: xcodebuild -derivedDataPath <Pfad>
npm-Cache ~/.npm, Windows: %LocalAppData%\npm-cache npm config set cache <Pfad>
pip-Cache ~/.cache/pip, Mac: ~/Library/Caches/pip, Windows: %LocalAppData%\pip\Cache PIP_CACHE_DIR=<Pfad> oder --cache-dir
Cargo-Build target in jedem Projekt CARGO_TARGET_DIR=<Pfad> oder build.target-dir in .cargo/config.toml
Gradle ~/.gradle GRADLE_USER_HOME=<Pfad>

Unter macOS oder Linux sieht das so aus (die Disk ist hier unter /Volumes/RAMDisk eingebunden):

npm config set cache /Volumes/RAMDisk/npm
export PIP_CACHE_DIR=/Volumes/RAMDisk/pip
export CARGO_TARGET_DIR=/Volumes/RAMDisk/cargo-target

Xcode, nur unter macOS (danach Xcode neu starten):

defaults write com.apple.dt.Xcode IDECustomDerivedDataLocation /Volumes/RAMDisk/DerivedData
Achten Sie auf Nebenwirkungen. GRADLE_USER_HOME verschiebt auch gradle.properties, Init-Skripte und Wrapper-Distributionen, und in CARGO_HOME liegen installierte Tools und Zugangsdaten. Verschieben Sie dort nur die Cache-Ordner (~/.gradle/caches, ~/.cargo/registry) per symbolischem Link (ln -s, unter Windows mklink /J). Und denken Sie daran: Nach einem Neustart ist die RAM-Disk weg, und alle Einstellungen und Links zeigen ins Leere, bis Sie sie neu anlegen.

Mit Exlade RamDisk: Vorlagen

Exlade RamDisk ist eine kostenlose RAM-Disk für Windows, macOS und Linux. Ihre Vorlagen erledigen diese Schritte für Sie und machen sie rückgängig, wenn die Disk ausgeworfen wird.

Vorlage wählen

Developer (8 GB, Windows und Linux) verschiebt die Caches von npm, Yarn, pip, Cargo, Gradle, Maven, Go und NuGet. npm (2 GB) gibt es auf allen drei Systemen, Xcode (8 GB, macOS) übernimmt DerivedData. Ordner nicht installierter Tools werden übersprungen.

Eine RAM-Disk in Exlade RamDisk für Windows erstellen: Vorlagen Browsers, Developer, npm und Temp, Name und Größe
Build-Ordner hinzufügen

Klicken Sie unter „Ordner auf dieser Disk“ auf „Ordner hinzufügen…“ und wählen Sie target, build oder obj eines Projekts. Schalten Sie „Beim Start von Windows erstellen“ ein und für Paket-Caches auch „Dateien behalten“.

Einstellungen einer neuen Disk in Exlade RamDisk für Windows: beim Start von Windows erstellen, Dateien behalten, Build-Ordner hinzufügen
Mit denselben Pfaden weiterarbeiten

Unter Windows und Linux tritt ein Link auf die Disk an die Stelle des Ordners (unter Windows eine Junction, ohne Administratorrechte), die Tools sehen also die gewohnten Pfade. Auf dem Mac ändert die Vorlage Xcode den Ort für Derived Data in Xcode (Xcode neu starten), und die Vorlage npm setzt cache in ~/.npmrc. Beim Auswerfen der Disk wird alles zurückgestellt.

Ein Ordner mit geöffneten Dateien lässt sich nicht verschieben: Beenden Sie zuerst Xcode, Ihre IDE oder den Gradle-Daemon. Mehr dazu unter Ordner verschieben.

Dateien über einen Neustart behalten?

Ordner Behalten? Warum
Caches von npm, pip, Cargo, Gradle ja sonst werden Pakete nach jedem Neustart neu geladen
Xcode DerivedData nach Bedarf füllt sich beim ersten Build wieder
Build-Ordner nach Bedarf der erste Build nach dem Neustart ist ein vollständiger
TEMP, TMPDIR nein das sind temporäre Dateien

Deshalb behält die Vorlage Developer unter Windows ihre Dateien, die Vorlage Xcode nicht. Eine Disk beim Start mit „Dateien behalten“ sichert sie nach Zeitplan und vor dem Herunterfahren; bei einem plötzlichen Stromausfall gehen nur die Änderungen seit der letzten Sicherung verloren.

Wie viel Speicher Sie geben sollten

Beginnen Sie mit der Größe der Vorlage. Unter Windows, Linux und macOS 26 belegt eine Disk Speicher erst, wenn Dateien geschrieben werden, nicht ihre volle Größe auf einmal. Unter macOS 15 wird die ganze Größe beim Erstellen reserviert: Die Vorlage Xcode mit 8 GB belegt sofort 8 GB Arbeitsspeicher, wählen Sie dort also eine Größe, die Ihr Mac entbehren kann. Die Größe lässt sich später ändern: Auf dem Mac und unter Linux bleiben die Dateien erhalten, unter Windows ändern nur NTFS-Disks ihre Größe an Ort und Stelle (deshalb nutzen die Vorlagen Developer und npm NTFS), eine exFAT- oder FAT32-Disk muss neu erstellt werden. Nach einem Arbeitstag zeigt der „Nutzungsverlauf“, wie viel jede Disk tatsächlich brauchte. Auf einem Computer mit 8 GB Arbeitsspeicher nimmt eine RAM-Disk bald der IDE und den Compilern Speicher weg. Mehr dazu: Lohnt sich eine RAM-Disk? und Speicher und Verlauf.

Build-Server und CI

Das eramdisk-Tool hat unter Windows, macOS und Linux dieselben Befehle und eine JSON-Ausgabe für Skripte. Auf einem Linux-Server genügen der Dienst und das Tool, ohne grafische Oberfläche.

eramdisk create -t Developer                    # Paket-Caches (Windows, Linux)
eramdisk create -s 4G -n Build --startup        # Disk, die bei jedem Start entsteht
eramdisk redirect add Build ~/src/app/target    # Build-Ordner darauf verschieben
eramdisk list --json                            # Disks und ihre Belegung

Häufige Fragen

Merkt Xcode, dass DerivedData umgezogen ist?

Ja, nach einem Neustart von Xcode: Die Vorlage Xcode ändert denselben Ort für Derived Data, den Sie unter Xcode > Settings > Locations einstellen. Wird die Disk ausgeworfen, kehrt die vorherige Einstellung zurück.

Kann ich Quellcode auf einer RAM-Disk halten?

Besser nicht. Verschwindet die Disk, bevor die Dateien gesichert sind, ist nicht committete Arbeit verloren. Lassen Sie den Code auf der SSD und legen Sie auf die RAM-Disk nur, was sich neu bauen oder herunterladen lässt.

Exlade RamDisk kostenlos herunterladen

Windows 10 und 11, macOS 15 und neuer, Ubuntu, Debian und Fedora. Ohne Registrierung und ohne Testphase.

Kostenlos herunterladen Funktionen