Was bedeuten die verschiedenen Speicherzähler in FreeBSD?

20

oben sagt mir:

last pid: 64807;  load averages:  0.99,  0.97,  0.92                                          up 189+04:47:22 09:16:17
45 processes:  1 running, 44 sleeping
CPU:  0.4% user,  0.0% nice,  0.2% system,  6.4% interrupt, 93.0% idle
Mem: 222M Active, 2151M Inact, 2008M Wired, 823M Buf, 3499M Free
Swap: 8192M Total, 8192M Free

Munin zeigt dies etwas deutlicher:

rtr1 jährliche Speichernutzung

Wie Sie sehen, verfügt der Server über ca. 8 GB RAM. Ich frage mich, ob ich dieses Biest in einen bescheideneren 2-GB-Server stopfen kann . Jetzt weiß ich, was Aktiv und Puffer bedeuten, denke ich. Aber ich bin wirklich besorgt über die "verdrahteten" und "inaktiven" Speicherblobs. Soweit ich weiß, sind diese keinem bestehenden Prozess zugeordnet.

Beachten Sie, wie die grüne "aktive" Leitung im Dezember hochging: Zu diesem Zeitpunkt haben wir begonnen, einen BGP-Dämon auf diesem Router zu verwenden. Ich verstehe nicht genau, was im April und Mai passiert ist, aber ich erinnere mich, dass ich damals ein System-Upgrade durchgeführt und auf pkgng umgestellt habe.

Hier ist der Ersatz-Router für den ersten mit weniger RAM (4 GB):

rtr0 jährliche Speichernutzung

Es scheint, dass dieser Server mit der Hälfte des Arbeitsspeichers perfekt auskommt und immer noch 2 GB frei lässt, was mich zu der Annahme veranlasst, dass ich für diesen Server auf eine 2-GB-Box umsteigen könnte, was Kosten und Wartung senkt ...

Irgendwelche Vorschläge? Was bedeuten die verschiedenen oben gezeigten Speicherzähler? Genauer gesagt, was macht:

  • Aktiv
  • Inaktiv
  • Zwischenspeicher
  • Puffer
  • Verdrahtet
  • Frei

...wirklich gemein? Ich habe einige Posts gefunden, in denen erklärt wird , welche Teile des VM-Subsystems funktionieren, und ich erinnere mich, dass ich ein "ah-ah!" Moment das alles vor etwa 12 Jahren zu verstehen, aber ich habe es vergessen. :) Auch das treue FreeBSD-Handbuch konnte meine Frage nicht beantworten ...

Kann ich ein Downgrade auf 2 GB durchführen?

Anarkatze
quelle
Hier ist die Linux-Version dieser Frage (die den freeBefehl von procps erklärt ): Linux - reale Speichernutzung
Adam Katz

Antworten:

25
  • Active: Derzeit von einem Prozess verwendeter Speicher
  • Inactive: Speicher, der freigegeben wurde, aber noch zwischengespeichert ist, da er möglicherweise wieder verwendet wird. Wenn mehr FreeSpeicher benötigt wird, kann dieser Speicher gelöscht und freigegeben werden. Dieser Speicher wird nicht gelöscht, bevor er benötigt wird, da "freier Speicher verschwendet wird" und es nichts kostet, die alten Daten zu behalten, falls sie erneut benötigt werden.
  • Wired: Vom Kernel verwendeter Speicher. Dieser Speicher kann nicht ausgelagert werden
  • Cache: Der zum Zwischenspeichern von Daten verwendete Speicher kann bei Bedarf sofort freigegeben werden
  • Buffers: Festplatten-Cache
  • Free: Speicher, der vollständig frei und einsatzbereit ist. Inactive, CacheUnd Bufferskann frei werden , wenn sie nach oben gereinigt werden.

Sie können also einfach Inactivezu Ihrer FreeZählung hinzufügen und diese als nicht verwendet betrachten. Wiredist der vom Kernel verwendete Speicher, der den Netzwerkstapel enthält. Laufen netstat -mgibt Ihnen eine Zusammenfassung der Speichernutzung durch den Netzwerkstapel.

Basierend auf Ihren Grafiken, abgesehen von dem betreffenden wiredSpeichersprung Anfang März, sollten Sie in der Lage sein, diese Arbeitsauslastung auf 2 GB RAM auszuführen. In diesem Fall sollten Sie i386 anstelle von amd64 ausführen, da jede Speicherzuweisung weniger Speicherplatz beansprucht, da die Zeiger 32-Bit statt 64-Bit sind.

Allan Jude
quelle
1
'Inaktiver' Speicher "Kann nicht anderen Prozessen zugewiesen werden", daher sollte er nicht als 'nicht verwendet' betrachtet werden. Siehe wiki.freebsd.org/Memory
humbads
1
Der Zähler 'Inaktiv' wurde in neueren FreeBSD-Versionen in zwei separate Elemente aufgeteilt. "Inaktiv" und "Wäsche" (Speicher, der noch geleert werden muss, um die Festplatte zu wechseln oder auszutauschen, bevor er freigegeben werden kann). Zusätzliche Erklärung hier: lists.freebsd.org/pipermail/freebsd-arch/2016-November/…
Allan Jude