Die Garbage Collection wird ausgeführt wenn der freie Platz weniger als 2048 Bytes sind.
Nach jedem Boot zwackt sich das nvram so etwa 5k ab.
So wird, je nach Menge und Größe der aktiven Variablen so alle 10 plus mal starten eine Garbage Collection durchgeführt.
Die reguläre GC ist nicht zu verwechseln mit der Manuellen (durch mehrfach NVRAM-Reset oder durch setzen der NVRAM Variable: ResetNVRam=1).
Die Reguläre löscht nichts, sie räumt nur die inaktiven Variablen weg, macht eine Kopie der Aktiven in VSS2, löscht VSS1 und kopiert VSS2 in VSS1 zurück.
Bei einer Manuellen werden alle aktiven und inaktiven Variablen gelöscht und keine Kopie in VSS2 gemacht, deshalb auch die Meldung des Tools VSS2 empty after Firmware rebuilt or triple nvram reset). Triple nvram reset ist die Manuelle Garbage Collection.
Der Text dafür wurde inzwischen angepasst nachdem mit ResetNVRam=1 eine weitere Methode gefunden wurde um die manuelle GC anzustoßen.
Wie bei einer SSD ist eine Garbage Collection nicht destruktiv, die räumt nur auf. Im Gegensatz zur Manuellen, die löscht alle
bekannten * Variablen.
* unbekannte Variablen sind zum Beispiel Microsoft Zertifikate, uralt Variablen von Vorgängersystemen wie denen vom 4.1 bei 4.1->5.1 Crossflashs oder irgendwelche verunglückten Fragmente die durch Abstürze, harte Resets, Bugs etc etc entstanden sind.
Und genau die sind es die uns das NVRAM verhageln können, mit Pech so weit dass die reguläre GC nicht mehr läuft weil der VSS1 so groß geworden ist dass er VSS2 überschreibt und so die GC nicht mehr korrekt läuft. *
in diesem Lauf nach dem 12. mal:
Code:
1. Dump after manual Garbage Collection:
6 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
0 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
52864 Bytes free space of 65472
2. Dump after manual Garbage Collection
8 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
2 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
47488 Bytes free space of 65472
3. Dump after manual Garbage Collection:
10 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
3 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
42816 Bytes free space of 65472
4. Dump after manual Garbage Collection:
12 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
4 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
38144 Bytes free space of 65472
5. Dump after manual Garbage Collection:
14 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
5 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
33472 Bytes free space of 65472
6. Dump after manual Garbage Collection:
16 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
6 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
28800 Bytes free space of 65472
7. Dump after manual Garbage Collection:
18 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
7 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
24128 Bytes free space of 65472
8. Dump after manual Garbage Collection:
20 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
8 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
19456 Bytes free space of 65472
9. Dump after manual Garbage Collection:
22 Memory Configs (ok)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
9 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
14784 Bytes free space of 65472
10. Dump after manual Garbage Collection:
24 Memory Configs (take care)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
10 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
10112 Bytes free space of 65472
11. Dump after manual Garbage Collection:
26 Memory Configs (take care)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
11 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
5440 Bytes free space of 65472
12. Dump after manual Garbage Collection
(768 Bytes free, next is automatic Garbage Collection):
28 Memory Configs (take care)
0 xml (ok)
0 iCloud Tokkens (ok)
0 Microsoft Certificates (ok)
0 BluetoothActiveControllerInfos (ok)
0 BluetoothInternalControllerInfos (ok)
0 current-network (ok)
12 AAPL Path Properties (ok)
VSS2 is empty (ok after triple nvram reset or recent firmware rebuilt)
768 Bytes free space of 65472 (take care)
13. Dump after manual Garbage Collection:
(VSS2 Stream was written, free space is back)
6 + 4 Memory Configs (ok)
0 + 0 xml (ok)
0 + 0 iCloud Tokkens (ok)
0 + 0 Microsoft Certificates (ok)
0 + 0 BluetoothActiveControllerInfos (ok)
0 + 0 BluetoothInternalControllerInfos (ok)
0 + 0 current-network (ok)
2 + 2 AAPL Path Properties (ok)
51776 Bytes free space of 65472