Ich habe ein MacBook Pro bei der Arbeit und ich denke, es verwendet zu viel Swap anstelle von RAM.
Model Name: MacBook Pro
Model Identifier: MacBookPro13,1
Processor Name: Intel Core i5
Processor Speed: 2 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 4 MB
Memory: 16 GB
Boot ROM Version: MBP131.0205.B22
SMC Version (system): 2.36f97
Serial Number (system): C02TL0KGGVC8
Hardware UUID: 09325653-7FB0-52CC-A599-063539D1010A
Ich bin es gewohnt, die UNIX-Systemaktivität mit htop
. Ich stelle fest, dass mein OS X nie mehr als die Hälfte des RAMs verwendet, sondern stattdessen mehr Swap verwendet. Normalerweise 7 GB Swap, aber es können mehr sein.
Meine Frage ist, sollte mein Betriebssystem vor dem Austausch nicht mehr RAM verwenden? Ich habe gelesen, wie OS X den Austausch handhabt, und ich habe das Gefühl, dass dies ein Verlust an Rechenleistung ist. Das Ein- und Ausschreiben von Seiten ist sehr zeitaufwändig und nicht so schnell wie die Verwendung von RAM
Ich versuche, mit meiner Ubuntu 16.04-Distribution zu Hause zu vergleichen, die nicht tauscht, es sei denn, der Speicher ist voll. Aber vielleicht haben die 2 Betriebssysteme unterschiedliche Verhaltensweisen, obwohl sie beide UNIX-basiert sind.
Ich habe auch die Ausgabe des Befehls ausgedruckt, vm_stat
um zu überprüfen, ob es einen Unterschied gibt, weil er vielleicht htop
nicht genau gemeldet wird. Mir ist aufgefallen, dass htop
eine unterschiedliche maximale Auslagerungskapazität von 3 bis 16 gemeldet wird. Warum ist es keine Partition mit fester Größe wie in Ubuntu?
Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free: 6743.
Pages active: 1005803.
Pages inactive: 903490.
Pages speculative: 361.
Pages throttled: 0.
Pages wired down: 837598.
Pages purgeable: 9241.
"Translation faults": 6115698117.
Pages copy-on-write: 107293117.
Pages zero filled: 2540298644.
Pages reactivated: 1039487337.
Pages purged: 52550607.
File-backed pages: 482299.
Anonymous pages: 1427355.
Pages stored in compressor: 5968822.
Pages occupied by compressor: 1439832.
Decompressions: 1456775259.
Compressions: 1606172332.
Pageins: 1393246141.
Pageouts: 25235109.
Swapins: 562867577.
Swapouts: 582845342.
Erstens - ja, das Betriebssystem verwendet im Allgemeinen RAM vor dem Austausch. Dabei geht keine Rechenleistung verloren.
Sie scheinen zu dem Schluss gekommen zu sein, dass macOS Swap verwendet, obwohl es basierend auf dem htop-Screenshot genauso gut freien Speicher verwenden könnte. Sie können diese Schlussfolgerung nicht aus einer einfachen Stichprobe der Speichernutzung ziehen.
In Wirklichkeit könnten Sie Programme ausgeführt haben, die viel RAM verwenden und macOS dazu zwingen, Speicher auf die Festplatte auszulagern. Dann haben Sie einige dieser Programme beendet (oder sie haben einen Teil des RAM freigegeben). Wenn Sie jetzt ein htop-Sample nehmen, werden Sie sehen, dass die RAM-Nutzung gering ist (viel freier RAM), aber Sie verwenden auch viel Swap.
Aber das ist kein Problem – es ist sogar so gewollt! Es wäre für macOS nicht ratsam, mit dem Austauschen der Seiten zu beginnen, die auf der Festplatte abgelegt wurden. Es wird dies tun, wenn sie benötigt werden (dh von Programmen verwendet werden), aber bis dies geschieht, könnte es sein, dass diese Seiten niemals verwendet werden - und daher geht die Zeit verloren, die damit verbracht wird, sie auszutauschen.
Sie schreiben, dass Sie im Vergleich zu Ihrem Ubuntu-PC ein anderes Verhalten beobachten. Sie sollten wissen, dass Sie dieses Verhalten tatsächlich ändern können. Unter Linux können Sie sysctl verwenden, um die Variable vm.swappiness festzulegen. Es wird ändern, wie aggressiv das Betriebssystem Dinge auf die Festplatte auslagert.
Sie fragen auch, warum Ihr macOS-System keinen Fixed-Size-Swap verwendet, wie es Ubuntu tut. Tatsächlich unterstützt Ubuntu mit dem Befehl „swapspace“ auch Swaps mit dynamischer Größe. Sie können minimale und maximale Größen festlegen, und es wird dynamisch Auslagerungsspeicher hinzufügen/entfernen, wenn sich die Anforderungen ändern.
Tetsujin
MCMZL