OneFS: Geheugengebruik
Summary: In dit artikel worden de algemene geheugencategorieën kort besproken en wordt uitgelegd welke geheugencategorieën als beschikbaar of "vrij" kunnen worden beschouwd. Er worden richtlijnen gegeven voor de hoeveelheid geheugen die bepaalde processen en containers kunnen gebruiken. ...
Instructions
Een tekort aan geheugen kan ertoe leiden dat knooppunten opnieuw opstarten, processen opnieuw worden opgestart en prestatieproblemen optreden. In dit artikel wordt kort uitgelegd hoe u het beschikbare geheugen van een knooppunt kunt evalueren en wordt verwezen naar enkele technische geheugenrichtlijnen. In OneFS is het geheugen grofweg onderverdeeld in vijf gebieden of wachtrijen: Vrij, inactief, bekabeld, actief en buffer
BESCHIKBAAR GEHEUGEN
Vrij geheugen is onmiddellijk beschikbaar voor gebruik en wordt niet toegewezen.
Inactief (Inact) geheugen is niet recentelijk gebruikt en is beschikbaar om te worden toegewezen.
NIET BESCHIKBAAR GEHEUGEN
Bekabeld geheugen wordt gebruikt door de kernel en is niet beschikbaar voor andere toewijzingen.
Het actieve geheugen is recentelijk gebruikt en wordt toegewezen aan de gebruikersruimte.
Buffergeheugen (Buf) wordt gebruikt voor schijfcaching.
BESCHIKBAAR GEHEUGEN
BEREKENENDeze geheugencategorieën zijn te zien via de opdracht bovenaan.
Merk op dat het naar verwachting geen cachecategorie ziet en niets ziet in het gedeelte Swap:
# 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:
Als u uitvoer bekijkt van vmstat -H, ziet u beschikbare geheugenpagina's (AVM) en Vrij geheugen (FRE) in bytes.
# 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
Het converteren van AVM-pagina's naar bytes toont beschikbaar geheugen (inactief + vrij):9333548 x 4096 = 38230212608 bytes
Convert to GB 38230212608/(1024^3)= 35.6 GB Available Memory
Als u de waarden Inact en Free toevoegt uit de top Uitvoer In dit voorbeeld heb je:28GB + 7.35GB = 35.35GB
Merk op dat de bovenste uitvoer al is afgerond, dus deze komt mogelijk niet exact overeen met de waarde van vmstat.
PROCESSPECIFIEK GEHEUGENGEBRUIK
Virtuele grootte of vsz (SIZE) verwijst naar geheugen dat aan dit proces is toegewezen.
Op de handmatige pagina van bovenaan, "GROOTTE is de totale grootte van het proces (tekst, gegevens en stapel)"
Resident Set Size (RES) verwijst naar de hoeveelheid fysiek geheugen die door dit proces wordt gebruikt.
Op de handmatige pagina van bovenaan: "RES is de huidige hoeveelheid residentieel geheugen (zowel SIZE als RES worden gegeven in kilobytes)"top Opdracht met de zes processen die het meeste virtuele geheugen gebruiken:
# 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
MAXIMUMWAARDEN VOOR LW-CONTAINERGEHEUGENGEBRUIK EN GEOPENDE BESTANDEN PER KNOOPPUNT
Er zijn enkele gepubliceerde maximumwaarden voor geheugen, afhankelijk van de OneFS-versie. Items zoals open bestanden per knooppunt en SMB en NFS binnen de LW-container worden uitgelegd.
Raadpleeg de technische specificaties van de OneFS
- LW-container: Pagina 9~23
In OneFS zijn er drie lwio procescontainers bestaan uit één container voor elk SMB-, NFS- en Swift-proces. De SMB-container mag maximaal 20% van het totale RAM-geheugen zijn, maar is minimaal 1 GB en maximaal 32 GB. De NFS-container mag maximaal 25% van het totale RAM-geheugen zijn, maar is minimaal 1 GB en maximaal 8 GB. De Swift-container is 512 MB.
- Limiet voor geopende bestanden: Pagina 12
Het maximum aantal geopende bestanden per knooppunt is 90% van het maximum aantal vnodes op dat knooppunt, zoals uitgedrukt in de volgende formule: kern.maxfiles = kern.maxvnodes * 0.9 De daemons van het OneFS-protocol, zoals de input/output-daemon (lwio) kunnen extra beperkingen opleggen aan het aantal bestanden dat een knooppunt kan openen. De protocoldaemons leggen dergelijke beperkingen meestal op omdat de kernel limieten stelt aan het geheugenverbruik per proces.
GEHEUGENGEBRUIK CONTROLEREN AAN DE HAND VAN MAXIMUMWAARDEN
Geheugen van een lsass proces met behulp van ps:
# 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)
Controleren met behulp van top bevelen:
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