OneFS: Minnesanvändning
Summary: I den här artikeln diskuteras kortfattat de allmänna minneskategorierna och vilka minneskategorier som kan anses vara tillgängliga eller "lediga". Det finns riktlinjer för hur många minnen vissa processer och behållare kan använda. ...
Instructions
Om minnet tar slut kan noder startas om, processer startas om och prestandaproblem uppstå. Den här artikeln beskriver kortfattat hur du utvärderar det tillgängliga minnet för en nod och refererar till några riktlinjer för tekniskt minne. I OneFS kategoriseras minnet i stort sett i fem områden eller köer: Ledig, Inaktiv, Kabelansluten, Aktiv och Buffert
TILLGÄNGLIGT MINNE
Friminne är omedelbart tillgängligt för användning och allokeras inte.
Inaktivt minne (Inact) har inte använts nyligen och är tillgängligt för allokering.
OTILLGÄNGLIGT MINNE
Trådbundet minne används av kärnan och är inte tillgängligt för annan allokering.
Aktivt minne har använts nyligen och allokeras till användarutrymme.
Buffertminne (Buf) används för diskcachelagring.
BERÄKNA TILLGÄNGLIGT MINNE
Dessa minneskategorier kan ses från kommandotoppen.
Observera att det inte förväntas se någon cachekategori och inte se något i avsnittet Växla:
# 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:
Om du visar utdata från vmstat -Hvisas tillgängliga minnessidor (AVM) och ledigt minne (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 av AVM-sidor till byte visar tillgängligt minne (inaktivt + ledigt):9333548 x 4096 = 38230212608 bytes
Convert to GB 38230212608/(1024^3)= 35.6 GB Available Memory
Om du lägger till värdena Inact och Free från top Utdata I det här exemplet har du:28GB + 7.35GB = 35.35GB
Observera att den översta utmatningen redan var avrundad, så den kanske inte matchar exakt värdet från vmstat. – Herr talman,
PROCESSSPECIFIK MINNESANVÄNDNING
Virtuell storlek eller vsz (STORLEK) avser minne som allokerats till den här processen.
Från manualsidan överst, "SIZE is the total size of the process (text, data, and stack)"
Resident Set Size (RES) hänvisar till mängden fysiskt minne som används av denna process.
Från manualsidan överst, "RES är den aktuella mängden inbyggt minne (både SIZE och RES anges i kilobyte)"top Kommando som visar de sex processer som använder mest virtuellt minne:
# 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
MAXIMALA VÄRDEN FÖR LW-BEHÅLLARENS MINNESFÖRBRUKNING OCH ÖPPNA FILER PER NOD
Det finns vissa publicerade maxvärden för minne beroende på OneFS-versionen. Objekt som öppna filer per nod och SMB och NFS i LW-behållaren förklaras.
Se manualen för tekniska specifikationer för OneFS
- LW-behållare: Sidan 9~23
I OneFS har tre lwio processcontainrar finns en container för varje SMB-, NFS- och Swift-process. SMB-containern kan vara upp till 20 % av det totala RAM-minnet, men det är minst 1 GB och högst 32 GB. NFS-behållaren kan vara upp till 25 % av det totala RAM-minnet, men den är minst 1 GB och högst 8 GB. Swift-behållaren är 512 MB.
- Gräns för öppna filer: Sidan 12
Det maximala antalet öppna filer per nod är 90 % av det maximala antalet vnodes på den noden, enligt följande formel: kern.maxfiles = kern.maxvnodes * 0.9 OneFS-protokolldemonerna, t.ex. input/output-daemonen (lwio) kan medföra ytterligare begränsningar för antalet filer som en nod kan ha öppna. Protokolldaemonerna har vanligtvis sådana begränsningar eftersom kerneln sätter gränser för minnesförbrukningen per process.
KONTROLLERA MINNESANVÄNDNINGEN MOT MAXVÄRDEN
Visa minnet för en lsass Process med hjälp av 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)
Kontroll med hjälp av top befallning:
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