Was ist richtig: OSX-Aktivitätsmonitor Swap Space Used Zero oder Bash TOP-Befehl Zero Free?

682
AnneTheAgile

Ich habe mehrere ähnlich konfigurierte Macs, osx / macos 10.12.3, die als Jenkins-Follower verwendet werden.

Beim Auschecken eines anderen Problems habe ich bemerkt, dass Jenkins seinen Hardwarestatus gemeldet hat und behauptet, dass 0 Byte Swap-Speicher frei sind. Aus Jenkins-Foren / Bugs erfuhr ich, dass Jenkins diese Informationen aus der Zusammenfassung des Bash-Top-Befehls abruft und die 0 Bytes free in der Befehlszeile angezeigt werden, siehe unten: "Swap: 0B + 0B free".

$ top -o cpu -O +rsize -S -l1 -n 1  Processes: 373 total, 2 running, 371 sleeping, 1313 threads 2017/03/20 09:32:55 Load Avg: 1.72, 1.78, 1.71 CPU usage: 10.29% user, 25.0% sys, 64.70% idle SharedLibs: 202M resident, 44M data, 52M linkedit. MemRegions: 92722 total, 4174M resident, 149M private, 955M shared. PhysMem: 10G used (1847M wired), 6186M unused. VM: 1001G vsize, 621M framework vsize, 0(0) swapins, 0(0) swapouts. Swap: 0B + 0B free. Purgeable: 131M 67381(0) pages purged. Networks: packets: 25600359/10G in, 28183278/28G out. Disks: 24966156/317G read, 13958561/455G written.  PID COMMAND %CPU TIME ## etc 

Im Aktivitätsmonitor der Maschine wird jedoch das Gegenteil behauptet, dass der Speicherdruck null und grün ist und dass überhaupt keine Auslagerungsbytes verwendet werden.

Was ist richtig: OSX-Aktivitätsmonitor Swap Space Used Zero oder Bash TOP-Befehl Zero Free?

Welches ist richtig?

0
[Diese Nachricht] (https://wiki.jenkins-ci.org/display/JENKINS/IOException+Not+enough+space) enthält möglicherweise weitere Informationen. Beide sagen das Gleiche: Sie haben keinen Swap-Bereich. Auch wenn momentan kein Druck herrscht, kann es sein, dass Jenkins aufgrund von Java-Anforderungen immer noch einen Swap benötigt. phyrfox vor 7 Jahren 2
@phyrfox Ich war nicht sicher, ob diese IOException-Informationen seit Mavericks 10.9 für Mac OSX gelten. Das war der Zeitpunkt, zu dem Mac auf die Komprimierung des Arbeitsspeichers umgestellt hat und ein Ars-Reviewer sagte, OSX sei jetzt sehr ungern Swap zu verwenden. Wenn dies zutrifft, scheint es auch keine Möglichkeit zu geben, es zu ändern. https://arstechnica.com/apple/2013/10/os-x-10-9/17/#compressed-memory AnneTheAgile vor 7 Jahren 0
Ich weiß nicht, was die "Regeln" dafür sind. Was für ein unberechenbares Verhalten sehen Sie? Ich habe so etwas in der Frage nicht gesehen. phyrfox vor 7 Jahren 0
@phyrfox 1.Ich habe die Frage zur Klarstellung umgeschrieben. Der unberechenbare Teil ist weniger wichtig als das Grokking. 2.Ich glaube, ich verstehe nicht, ich dachte, der potenzielle Swap-Space könnte bei Bedarf fast die gesamte HD sein? 3. Aus dem, was ich gelesen habe, habe ich keine Möglichkeit, als Benutzer / Administrator unter OSX den Swap zu erhöhen. Liege ich falsch? AnneTheAgile vor 7 Jahren 0
@phyrfox Ich denke, ich bekomme es jetzt, also meinst du, dass das Terminalergebnis mit "Swap: 0B + 0B free" bedeutet, dass null Bytes angefordert wurden. Es ist also klar, dass es auch null Bytes gibt. Ist das richtig? Ich hatte geglaubt, der Swap-Bereich habe immer mit einer positiven Zahl begonnen, aber im Gegensatz dazu beginnt der Swap hier bei Null und kann schwanken. Habe ich es richtig gesagt? AnneTheAgile vor 7 Jahren 0
Okay, Mac OS X verwendet einen Wdkm-basierten RAM-Kompressionsalgorithmus, bevor er zum Swap wechselt. Dies bedeutet, dass mit 16 GB RAM etwa 8 GB Speicher komprimiert werden können, bevor das Betriebssystem wechselt, und erstellt dann bei Bedarf dynamisch Auslagerungsdateien. vor diesem Punkt hat der Swap eine Größe von 0B / 0B. Das bedeutet, dass Sie etwa 20 GB Speicherplatz benötigen, bevor OS X Ihre Festplatte verwendet, und die Swap-Werte sind> 0. Alles in allem denke ich, dass dies ein Problem der JVM ist - Sie müssen Java anweisen, mehr Speicherplatz zu verwenden. JVM begrenzt standardmäßig den Arbeitsspeicher, der zum Schutz vor fehlerhaftem Code verwendet wird. phyrfox vor 7 Jahren 0
Entschuldigung, der Platz ist knapp geworden, der letzte Kommentar wurde lesbar gemacht. Auf jeden Fall sagen sie beide dasselbe, es wurden keine Swap-Bytes erstellt, da keine notwendig sind. Beachten Sie jedoch, dass die grafische Benutzeroberfläche 283 MB "komprimierten" Arbeitsspeicher anzeigt: Dies wäre in einer Auslagerungsdatei in früheren Versionen von Mac OS enthalten. Der Systemaufruf für Swap wird dies jedoch nicht anzeigen, so dass Jenkins auch den verwendeten / konfigurierten Swap melden wird. Ihr Speicherdruck ist in der Tat "niedrig", daher finde ich es unwahrscheinlich, dass Sie keinen virtuellen Speicher haben, den Sie verwenden könnten. phyrfox vor 7 Jahren 0

0 Antworten auf die Frage