Massive RAM Nutzung obwohl nichts offen

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
r4pt0r
Beiträge: 1153
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Massive RAM Nutzung obwohl nichts offen

Beitrag von r4pt0r » 21.04.2017 16:42:15

'free -mh' gibt recht schnell aufschluss darüber, wieviel vom "used" ram tatsächlich nur für caches/buffer, d.h. bei bedarf verfügbar ist:

Code: Alles auswählen

# free -mh
             total       used       free     shared    buffers     cached
Mem:           94G        94G       260M         0B       815M        47G
-/+ buffers/cache:        45G        48G
Wenn das System wirklich unter Ressourcendruck leidet (bei nur 8GB durchaus zu erwarten): wirf wie schon gesagt wurde den Apache runter, erst recht da er sowieso nix auf nem Fileserver zu suchen hat.
Allerdings frage ich mich auch, wer auf die Idee kommt für einen Fileserver ein 12-kern (dual-hexacore?) System (-> 24 threads) hinzustellen und dann nur 8GB RAM zu verbauen... AFAIK verlangen die meisten Plattformen doch mindestens 2 Module je Socket? Wo gräbt man heute noch 2GB Module aus :?:

Ansonsten kurz und knapp: Solange das System nicht massiv swapt würde ich mir keine Gedanken machen - wobei 8GB wirklich EXTREM wenig ist für einen Fileserver, da würde ich dringend nachlegen... Samba ist ohnehin ein ziemlicher Ressourcenfresser (und der läuft bei dir ja noch nichtmal...), erst recht wenn man ihn halbwegs performant bekommen will. An NFS kommt SMB aber sowieso nichtmal annähernd ran - je mehr Bandbreite zur Verfügung steht, desto extremer wird der Unterschied - mit 10Gbit sind es ca 20-25% (!!), der Overhead (RAM und CPU) steigt dabei ca im selben Verhältniss... Wenn du also keine Windowskisten bedienen musst, entsorg auch den Samba.

Allgemein ist eine hohe RAM-Nutzung völlig normal und legitim, erst recht nach mehreren Tagen uptime. RAM ist dazu da genutzt zu werden - nur weil andere sogenannte "Betriebssysteme" (bzw eigentlich nur ein Betriebssystem...) auch bei massenhaft vorhandenem RAM ständig auf Platten auslagert, ist das noch lange nicht 'richtig' so. Wozu verbaut man massenhaft teuren RAM wenn er nicht genutzt wird und stattdessen auf Platten zurückgegriffen wird die um einen 6stelligen Faktor langsamer sind??

Die obige Ausgabe ist von einem alten proxmox host - wenn der nicht nach 3-4 Tagen >90%RAM nutzt ist was faul.
Selbiges gilt auch für andere Server - auch bzw gerade für Storage/Fileserver:

Code: Alles auswählen

# top -n | head -n6
last pid:  3680;  load averages:  0.10,  0.09,  0.08  up 51+06:09:23    16:15:17
46 processes:  1 running, 45 sleeping

Mem: 1348K Active, 165M Inact, 61G Wired, 1013M Free
ARC: 53G Total, 4429M MFU, 47G MRU, 5796K Anon, 555M Header, 1314M Other
Swap:
Der Großteil an 'Wired' memory ist für den ZFS cache (ARC) - wird also völlig korrekt für den Einsatzzweck des Systems genutzt, nämlich so viel Daten wie möglich direkt aus dem Cache zur Verfügung stellen, damit nicht ständig auf drehenden Rost zurückgegriffen werden muss.

Als Kontrast ein Virtualisierungshost (smartOS):

Code: Alles auswählen

# echo ::memstat | mdb -k
Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                    3233597             12631    9%
Boot pages                  68306               266    0%
ZFS File Data             8760020             34218   23%
Anon                      7438153             29055   20%
Exec and libs                4683                18    0%
Page cache                  15488                60    0%
Free (cachelist)            15372                60    0%
Free (freelist)          18207508             71123   48%

Total                    37743127            147434
Physical                 37743126            147434
Die Statistiken sind etwas verwaschen, da die KVM-Zones zum teil in "Kernel" als auch "Anon" gerechnet werden. Das System wurde vor 2 Tagen neu gestartet, hostet aktuell nur eine handvoll KVM-VMs und Zonen und keine davon wird bisher produktiv genutzt, daher ist 48% free völlig i.O. (bei 128GB gesamt...). Der Großteil (~40GB) geht aber für die VMs/Zonen drauf, der nächste große Anteil (~33GB) für ZFS caches - also völlig legitime Nutzung der vorhandenen Ressourcen...

Alternativende
Beiträge: 2016
Registriert: 07.07.2006 18:32:05

Re: Massive RAM Nutzung obwohl nichts offen

Beitrag von Alternativende » 21.04.2017 16:50:46

Hallo,
kennst Du diesen Link schon?

http://www.linuxatemyram.com/

rendegast
Beiträge: 14313
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Massive RAM Nutzung obwohl nichts offen

Beitrag von rendegast » 22.04.2017 03:39:34

Knogle hat geschrieben: Habe aktuell Debian 8.7 installiert,

free -h
total used free shared buff/cache available
Mem: 7,7G 4,5G 1,3G 162M 1,9G 2,8G
Swap: 367M 2,6M 365M
Bei mir
# free -h
total used free shared buffers cached
Mem: 7.8G 7.5G 268M 22M 476K 6.3G
-/+ buffers/cache: 1.2G 6.6G
Swap: 3.0G 128K 3.0G
(als normaler Benutzer identisch)
Einmal das andere Format der Ausgabe zu Deinem (hier /usr/bin/free aus Debianprocps 3.3.9).
Weiterhin ergibt sich bei mir
total=used+free,
bei Dir fehlt da ein GB.


@Alternativende + r4pt0r
Wenn ich RES/SHR von Knogles htop zusammenziehe, komme ich auf ca 100-200MB
(könnte den "shared 162M" entsprechen).
Wo stecken die 4GB 'htop-grün'?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Knogle
Beiträge: 159
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: GNU General Public License

Re: Massive RAM Nutzung obwohl nichts offen

Beitrag von Knogle » 22.04.2017 12:05:01

@ r4p0r

Ich habe aktuell ein System auf Sockel 2011-v3 Basis mit einem 12 Kerner und 1x 8GB DDR4 RAM.
Vorher waren 32GB drin, aber ich dachte fuer den Zweck braucht er nicht soviel RAM, daher habe ich 3 Module in meinem PC verbaut.


Was ich noch vergessen habe: Ich nutze auf 2 Festplatten ZFS, 1x 3TB und 1x 1TB, keine Ahnung ob das der Grund sein kannn.


Weiterhin ist mir wie rendegast beim zusammenrechnen auch aufgefallen dass da irgendwie was fehlt.

r4pt0r
Beiträge: 1153
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Massive RAM Nutzung obwohl nichts offen

Beitrag von r4pt0r » 22.04.2017 13:01:44

ZFS belegt RAM wenn verfügbar für den ARC - das lässt sich zwar begrenzen, macht aber bei nem Storageserver keinen Sinn. Der durch den ARC belegte RAM kann zwar freigegeben werden bei Bedarf, aber grundsätzlich profitiert ZFS mehr als andere Dateisysteme von caching im RAM (erst recht mit compressed ARC, aber KA ob/wann das feature in ZoL ankommt). Eigentlich wirft man so viel RAM wie möglich in ein Storagesystem und nimmt nix davon raus :wink:
Zudem nutzt das System jetzt nur einen Speicherkanal - die Performance dürfte ziemlich unterirdisch sein...
Selbst 32GB ist noch eher spährlich - da wäre es sinnvoller gewesen nen kleinen E5 quadcore oder Xeon-D zu nehmen der für storagesysteme i.d.r völlig ausreicht und dafür in deutlich mehr RAM zu investieren. Ausserdem fehlen dir eigentlich mindestens 2 platten - ZFS ohne redundanz ist relativ sinnfrei...

Für kleinere/mittlere Storagesysteme sind die Xeon-D ziemlich genial - sowas wird wohl beim kommenden upgrade in meinem Storageserver Zuhause verbaut werden: 2x 10Gbit im SoC, 2x NVMe für caching und optional sogar mit 24x SAS onboard... Energieverbrauch ist bei den Systemen unschlagbar bei max 45W TDP für die 8-kern Varianten. Ein gateway mit Xeon-D 1518 das ich nächste Woche in einer Niederlassung installieren werde hat bisher inkl 2xSSD und 32GB RAM noch nichtmal annähernd die 50W Marke erreicht, selbst beim Kernel bauen.

Antworten