OneFS: Hukommelsesudnyttelse
Summary: Denne artikel diskuterer kort de generelle hukommelseskategorier, forklarer, hvilke hukommelseskategorier der kan betragtes som tilgængelige eller "gratis". Der gives retningslinjer for, hvor mange hukommelser visse processer og beholdere kan bruge. ...
Instructions
Hvis du løber tør for hukommelse, kan det medføre, at noder genstarter, processer genstarter og problemer med ydeevnen. Denne artikel forklarer kort, hvordan du evaluerer den tilgængelige hukommelse i en node, og henviser til nogle tekniske retningslinjer for hukommelse. I OneFS er hukommelse bredt kategoriseret i fem områder eller køer: Ledig, inaktiv, kablet, aktiv og buffer
TILGÆNGELIG HUKOMMELSE
Gratis hukommelse er umiddelbart tilgængelig til brug og tildeles ikke.
Inaktiv hukommelse (Inact) er ikke blevet brugt for nylig og kan tildeles.
UTILGÆNGELIG HUKOMMELSE
Kablet hukommelse bruges af kernen og er ikke tilgængelig til anden allokering.
Aktiv hukommelse er blevet brugt for nylig og er allokeret til brugerplads.
Bufferhukommelse (Buf) bruges til cachelagring af diske.
BEREGNING AF TILGÆNGELIG HUKOMMELSE
Disse hukommelseskategorier kan ses fra kommandotoppen.
Bemærk, at det forventes ikke at se en cachekategori og ikke se noget i afsnittet 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:
Hvis du får vist output fra vmstat -H, kan du se tilgængelige hukommelsessider (AVM) og ledig hukommelse (FRE) i byte.
# 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
Konvertering af AVM-sider til bytes viser tilgængelig hukommelse (inaktiv + ledig):9333548 x 4096 = 38230212608 bytes
Convert to GB 38230212608/(1024^3)= 35.6 GB Available Memory
Hvis du tilføjer værdierne Inact og Free fra top Output I dette eksempel har du:28GB + 7.35GB = 35.35GB
Bemærk, at den øverste produktion allerede var afrundet, så den svarer muligvis ikke nøjagtigt til værdien fra vmstat.
BEHANDL SPECIFIK HUKOMMELSESUDNYTTELSE
Virtuel størrelse eller vsz (SIZE) henviser til hukommelse, der er allokeret til denne proces.
Fra den manuelle side øverst, "SIZE er den samlede størrelse af processen (tekst, data og stak)"
Resident Set Size (RES) henviser til mængden af fysisk hukommelse, der bruges af denne proces.
Fra den manuelle side øverst, "RES er den aktuelle mængde resident hukommelse (både SIZE og RES er angivet i kilobyte)"top kommando, der viser de seks processer, der bruger mest virtuel hukommelse:
# 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
MAKSIMUMVÆRDIER FOR LW-BEHOLDERENS HUKOMMELSESFORBRUG OG ÅBNE FILER PR. NODE
Der er nogle publicerede maksimumværdier for hukommelse afhængigt af OneFS-versionen. Elementer som åbne filer pr. node og SMB og NFS i LW-containeren forklares.
Se vejledningen til tekniske specifikationer for OneFS
- LW-container: Side 9~23
I OneFS er tre lwio procesbeholdere findes én beholder for hver SMB-, NFS- og Swift-proces. SMB-containeren kan være op til 20% af den samlede RAM, men den er mindst 1 GB og højst 32 GB. NFS-containeren kan være op til 25% af den samlede RAM, men den er mindst 1 GB og højst 8 GB. Swift-containeren er 512 MB.
- Grænse for åbne filer: Side 12
Det maksimale antal åbne filer pr. node er 90 % af det maksimale antal vnodes på denne knude som udtrykt i følgende formel: kern.maxfiles = kern.maxvnodes * 0.9 OneFS-protokoldæmonerne, f.eks. input/output-dæmonen (lwio), kan medføre yderligere begrænsninger for antallet af filer, som en node kan have åben. Protokoldæmonerne pålægger typisk sådanne begrænsninger, fordi kernen sætter grænser for hukommelsesforbrug pr. proces.
KONTROLLÉR HUKOMMELSESUDNYTTELSEN I FORHOLD TIL MAKSIMUM
Visning af hukommelse fra en lsass proces ved hjælp af 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)
Kontrol ved hjælp af top kommando:
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