OneFS : Utilisation de la mémoire
Summary: Cet article traite brièvement des catégories générales de mémoire et explique quelles catégories de mémoire peuvent être considérées comme disponibles ou « libres ». Des instructions sont fournies concernant le nombre de mémoire que certains processus et conteneurs peuvent utiliser. ...
Instructions
Un manque de mémoire peut entraîner le redémarrage des nœuds, le redémarrage des processus et des problèmes de performances. Cet article explique brièvement comment évaluer la mémoire disponible d’un nœud et fait référence à certaines recommandations techniques relatives à la mémoire. Dans OneFS, la mémoire est classée en cinq grandes catégories ou files d’attente : Libre, inactif, câblé, actif et mémoire tampon
MÉMOIRE
DISPONIBLE La mémoire libre est immédiatement disponible et n’est pas allouée.
La mémoire inactive (Inact) n’a pas été utilisée récemment et est disponible pour être allouée.
MÉMOIRE INDISPONIBLE
La mémoire filaire est en cours d’utilisation par le noyau et indisponible pour d’autres allocations.
La mémoire active a été utilisée récemment et est allouée à l’espace utilisateur.
La mémoire tampon (Buf) est utilisée pour la mise en cache des disques.
CALCUL DE LA MÉMOIRE
DISPONIBLECes catégories de mémoire sont visibles depuis la partie supérieure de la commande.
Notez qu’il est normal qu’aucune catégorie de cache ne s’affiche et que rien ne s’affiche dans la section 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:
Si vous affichez la sortie de vmstat -H, vous voyez les pages de mémoire disponibles (AVM) et la mémoire libre (FRE) en octets.
# 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
La conversion de pages AVM en octets affiche la mémoire disponible (inactive + libre) :9333548 x 4096 = 38230212608 bytes
Convert to GB 38230212608/(1024^3)= 35.6 GB Available Memory
Si vous ajoutez les valeurs Inact et Free de l’attribut top Dans cet exemple, vous avez :28GB + 7.35GB = 35.35GB
Notez que la sortie supérieure a déjà été arrondie, elle peut donc ne pas correspondre exactement à la valeur de vmstat.
UTILISATION DE LA MÉMOIRE SPÉCIFIQUE AU
PROCESSUSLa taille virtuelle ou vsz (SIZE) fait référence à la mémoire allouée à ce processus.
À partir de la page manuelle du haut, « SIZE est la taille totale du processus (texte, données et pile)"
La taille de l’ensemble résident (RES) fait référence à la quantité de mémoire physique utilisée par ce processus.
À partir de la page manuelle du haut, « RES est la quantité actuelle de mémoire résidente (la TAILLE et la RES sont toutes deux données en kilo-octets) »top Commande affichant les six processus utilisant le plus de mémoire virtuelle :
# 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
VALEURS MAXIMALES POUR LA CONSOMMATION DE MÉMOIRE DU CONTENEUR LW ET LES FICHIERS OUVERTS PAR NŒUD Certaines valeurs maximales publiées pour la mémoire dépendent de la version de
OneFS. Les éléments tels que les fichiers ouverts par nœud et SMB et NFS au sein du conteneur LW sont expliqués.
Consultez le Guide des caractéristiques techniques OneFS
- Conteneur LW : Page 9~23
Dans OneFS, trois lwio Les conteneurs de processus existent un conteneur pour chaque processus SMB, NFS et Swift. Le conteneur SMB peut représenter jusqu’à 20 % de la RAM totale, mais il est d’au moins 1 Go et d’au plus 32 Go. Le conteneur NFS peut représenter jusqu’à 25 % de la RAM totale, mais il est d’au moins 1 Go et d’au plus 8 Go. Le conteneur Swift fait 512 Mo.
- Limite des fichiers ouverts : Planche 12
Le nombre maximal de fichiers ouverts par nœud est égal à 90 % du nombre maximal de vnodes sur ce noeud, comme indiqué dans la formule suivante : kern.maxfiles = kern.maxvnodes * 0.9 Les processus de protocole OneFS, tels que le processus d’entrée/sortie (lwio), peut imposer des contraintes supplémentaires sur le nombre de fichiers qu’un nœud peut ouvrir. Les processus de protocole imposent généralement ces contraintes car le noyau limite la consommation de mémoire par processus.
VÉRIFIER L’UTILISATION DE LA MÉMOIRE PAR RAPPORT AUX VALEURS MAXIMALES
Affichage de la mémoire d’un lsass Processus utilisant 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)
Vérification à l’aide de top WMIC suivante :
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