Ich verstehe, dass der Kernel_task-Prozess mit mehreren .kext-Dateien verknüpft ist, die sich in System/Library/Extensions (und möglicherweise Library/Extensions?) befinden. Kann ich irgendetwas tun, um nicht benötigte Prozesse zu deinstallieren oder zu löschen, um die Speichernutzung hier zu reduzieren?
Ich habe nach einigen generischen Befehlen gesucht, die Kernel-Erweiterungen anzeigen/manipulieren. kextstat
hat meine Aufmerksamkeit erregt und basierend auf seiner Ausgabe ist die 4. Spalte
Die Anzahl der Bytes des Kernelspeichers, die der Kext belegt. Wenn dies null ist, ist kext ein eingebauter Teil des Kernels, der einen Datensatz als kext zum Auflösen von Abhängigkeiten zwischen kexts hat.
Das einzige Problem war, dass seine Größe hexadezimal war. Also habe ich die Hexadezimalzahl in eine Dezimalzahl umgewandelt und nur relevante Informationen gedruckt (wie die Kext-Bundle-ID).
kextstat -l -k | awk '{n = sprintf("%d", $4); print n, $6}' | sort -n
Brechen sie ab:
kextstat -l -k
- Drucken Sie eine Liste der geladenen nicht eingebauten Kexte| awk '{n = sprintf("%d", $4); print n, $6}'
- Leiten Sie die Ausgabe an awk
, konvertieren Sie die 4. Spalte "Größe" von Hexadezimal in Dezimal, drucken Sie diese und die Kext-Bundle-ID.| sort -n
- Leiten Sie die Ausgabe an sort
den Befehl weiter und sortieren Sie die Liste durch numerischen Vergleich (so dass "10" nicht kleiner als "1" ist).Sie können die Ausgabe an leiten, um tail -n 3
die Top 3 Speicherfresser zu erhalten. Hier sind meine:
1757184 com.apple.nvidia.driver.NVDAGK100Hal
2572288 com.apple.nvidia.driver.NVDAResman
3923968 com.apple.driver.AirPort.Brcm4360
Update: Sie können dies auch weiterleiten, um grep -v com.apple
zu sehen, welche Nicht-Apple-Kexts geladen werden.
mmmmmm
kein Hang
Schöpfer