OneFS: Speicherauslastung
Summary: In diesem Artikel werden die allgemeinen Speicherkategorien kurz erläutert und erläutert, welche Speicherkategorien als verfügbar oder "frei" betrachtet werden können. Es werden Richtlinien dafür bereitgestellt, wie viel Arbeitsspeicher bestimmte Prozesse und Container verwenden können. ...
Instructions
Wenn nicht genügend Arbeitsspeicher vorhanden ist, können Nodes neu gestartet werden, Prozesse neu gestartet werden und Performanceprobleme auftreten. In diesem Artikel wird kurz erläutert, wie der verfügbare Speicher eines Node ausgewertet wird, und es wird auf einige technische Speicherrichtlinien verwiesen. In OneFS wird der Arbeitsspeicher grob in fünf Bereiche oder Warteschlangen unterteilt: Freier, Inaktiver, Kabelgebundener, Aktiver und Puffer
VERFÜGBARER SPEICHER
Freier Speicher steht sofort zur Verfügung und wird nicht zugewiesen.
Inaktiver Speicher (Inact) wurde in letzter Zeit nicht verwendet und kann zugewiesen werden.
NICHT VERFÜGBARER SPEICHER
Der kabelgebundene Speicher wird vom Kernel verwendet und ist für andere Zuweisungen nicht verfügbar.
Der aktive Arbeitsspeicher wurde kürzlich verwendet und wird dem Nutzerspeicherplatz zugewiesen.
Pufferspeicher (Buf) wird für das Zwischenspeichern von Festplatten verwendet.
BERECHNEN DES VERFÜGBAREN ARBEITSSPEICHERS
Diese Speicherkategorien können über den Befehl angezeigt werden.
Beachten Sie, dass keine Cache-Kategorie und nichts im Abschnitt "Swap " angezeigt wird :
# top last pid: 98143; load averages: 0.00, 0.02, 0.00 up 48+04:45:17 16:01:09 643 processes: 1 running, 642 sleeping CPU: 0.0% user, 0.0% nice, 0.2% system, 0.0% interrupt, 99.8% idle Mem: 512M Active, 28G Inact, 11G Wired, 12G Buf, 7530M Free Swap:
Wenn Sie die Ausgabe von vmstat -Hwerden verfügbare Speicherseiten (AVM) und freier Speicher (FRE) in Byte angezeigt.
# vmstat -H procs memory page disks faults cpu r b w avm fre flt re pi po fr sr ad4 ad7 in sy cs us sy id 0 14 0 9333548 7713640 863 0 0 0 564 15 0 0 428 903 200 0 0 100
Das Konvertieren von AVM-Seiten in Bytes zeigt den verfügbaren Speicher an (inaktiv + frei):9333548 x 4096 = 38230212608 bytes
Convert to GB 38230212608/(1024^3)= 35.6 GB Available Memory
Wenn Sie Inact- und Free-Werte aus dem top Ausgabe in diesem Beispiel haben Sie:28GB + 7.35GB = 35.35GB
Beachten Sie, dass die obere Ausgabe bereits gerundet wurde, sodass sie möglicherweise nicht genau mit dem Wert von vmstataus.
PROZESSSPEZIFISCHE ARBEITSSPEICHERAUSLASTUNG
Virtuelle Größe oder vsz (SIZE) bezieht sich auf den Speicher, der diesem Prozess zugewiesen ist.
Auf der Handbuchseite oben "GRÖSSE ist die Gesamtgröße des Prozesses (Text, Daten und Stapel)"
. Die Größe des residenten Satzes (Resident Set Size, RES) bezieht sich auf die Menge des physischen Speichers, die von diesem Prozess verwendet wird.
Auf der Handbuchseite oben: "RES ist die aktuelle Menge des residenten Speichers (sowohl SIZE als auch RES werden in Kilobyte angegeben)"top Die sechs Prozesse, die den meisten virtuellen Speicher verwenden:
# top -o size -n 6 last pid: 26745; load averages: 0.15, 0.20, 0.17 up 3+19:06:14 20:03:26 103 processes: 1 running, 102 sleeping Mem: 152M Active, 23G Inact, 14G Wired, 12G Buf, 10G Free Swap:
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 10244 root 15 60 r112 592M 310M kqread 3 6:35 0.00% nfs 2698 root 11 20 0 585M 125M select 7 34:41 0.00% isi_celog_monitor 2544 root 26 60 r112 506M 70184K kqread 4 0:05 0.00% isi_papi_d 3217 root 2 26 0 439M 48336K kqread 3 0:13 0.00% isi_celog_capture 2676 root 2 52 0 399M 41540K kqread 2 1:46 0.00% isi_celog_capture 26740 root 2 20 0 399M 40168K kqread 6 0:00 0.00% isi_celog_capture
MAXIMALWERTE FÜR LW-CONTAINER-SPEICHERVERBRAUCH UND GEÖFFNETE DATEIEN PRO NODE
Es gibt einige veröffentlichte Maximalwerte für den Arbeitsspeicher, abhängig von der OneFS-Version. Elemente wie geöffnete Dateien pro Node und SMB und NFS innerhalb des LW-Containers werden erläutert.
Weitere Informationen finden Sie im Handbuch zu den technischen Daten von OneFS
- LW-Container: Seite 9~23
In OneFS sind drei lwio Es gibt einen Container für jeden SMB-, NFS- und Swift-Prozess. Der SMB-Container kann bis zu 20 % des gesamten RAM betragen, er beträgt jedoch mindestens 1 GB und höchstens 32 GB. Der NFS-Container kann bis zu 25 % des gesamten RAM betragen, er beträgt jedoch mindestens 1 GB und höchstens 8 GB. Der Swift-Container ist 512 MB groß.
- Beschränkung für geöffnete Dateien: Seite 12
Die maximale Anzahl der geöffneten Dateien pro Node beträgt 90 % der maximalen Anzahl von vnodes auf diesem Node, wie in der folgenden Formel ausgedrückt: kern.maxfiles = kern.maxvnodes * 0.9 Die OneFS-Protokoll-Daemons, z. B. der Input/Output-Daemon (lwio) können zusätzliche Einschränkungen für die Anzahl der Dateien auferlegen, die ein Node geöffnet haben kann. Die Protokoll-Daemons erzwingen in der Regel solche Einschränkungen, da der Kernel Begrenzungen für die Speichernutzung pro Prozess festlegt.
ÜBERPRÜFEN SIE DIE SPEICHERAUSLASTUNG ANHAND VON MAXIMALWERTEN
. Anzeigen des Speichers eines lsass Prozess mit psaus:
# ps auwx | egrep "USER|lsass" | grep -v grep USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND root 14689 0.0 0.3 162112 20404 ?? I 20Feb17 0:33.30 lw-container lsass (lsass)
Überprüfen mit top Befehl durchgeführt:
top -n 100 | egrep "SIZE|lsass" PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 14689 root 26 20 0 158M 20764K ucond 2 0:00 0.00% lsass