Isilon PowerScale OneFS 8.2 et versions ultérieures : Autoriser l’abandon de vnodes gratuits pour les nouveaux vnodes lorsque le cache est plein
Summary: Autorisez l’abandon de nœuds virtuels libres (Vnodes) pour les nouveaux Vnodes lorsque le cache est plein.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
L’exécution sur un nombre faible de Vnodes est identifiée par l’affichage de plusieurs
vlruwk Threads en cours d’exécution :
/var/log/messages 2022-03-11T17:17:01-08:00 <0.4> Isilon-4(id4) /boot/kernel.amd64/kernel: [rbm_worker.c:350](pid 4738="kt: dxt1")(tid=102982) There are now 505 DXT threads, msg stats: READ_INODE: 1, callback stats: kernel:lk_lock_async_callback2+0: 502, wait stats: biord: 3, vlruwk: 507Dans le vmlog, notez que VNODE utilise le plus grand nombre de mémoire :
vm.uma_zalloc_pigs: UMA Zalloc Pigs:
ZONE NAME SIZE LIMIT COUNT MEM USED
VNODE 000560, 00000000, 00830165, 00453996K
IFSINODE 000568, 00000000, 00777624, 00431338K
VM OBJECT 000240, 00000000, 00813154, 00190582K
lki_lin_ent 000208, 00000000, 00934988, 00189919K
lkc_gen_ent 000064, 00000000, 02235094, 00139693K
stat_cache 000176, 00000000, 00752869, 00129399K
lki_ref_ent 000105, 00000000, 00936379, 00096015K
lkc_lin_idds 000076, 00000000, 01012017, 00075110K
lkc_ref_idds 000068, 00000000, 01008047, 00066940K
mbuf_jumbo_p 004096, 00000000, 00016394, 00065576K
mbuf_cluster 002048, 00000000, 00026630, 00053260K
RADIX NODE 000144, 00000000, 00308743, 00043416K
ifm_attr_cac 000048, 00000000, 00770256, 00036105K
lki_mds_ent 000144, 00000000, 00255978, 00035996K
UMA Slabs 000080, 00000000, 00239085, 00018678K
Unshown zones account for 174014K
Total: 2200045KCause
Les nœuds peuvent manquer de mémoire (OOM) en raison de l’absence de récupération des Vnodes libres. Dans OneFS 8.2 et versions ultérieures, un nouveau systcl a été mise en œuvre (vfs.vnlru_reuse_freevnodes) pour permettre l’abandon de Vnodes libres pour de nouveaux Vnodes lorsque le cache est plein.
Par défaut vnlru_reuse_freevnodes est désactivée car Isilon préfère différer le recyclage des Vnodes vnlru_proc. Mise sous tension vnlru_reuse_freevnodes Permet getvnewvnode() pour recycler les Vnodes gratuits disponibles afin de faire de la place pour de nouveaux lorsque le cache est plein (mais pas trop grand). Cela empêche les allocateurs Vnode de se mettre en veille et évite de se réveiller vnlru_proc.
Resolution
Attention : Obtenez l’approbation de l’ingénierie avant de désactiver ou d’activer
vfs.vnlru_reuse_freevnode. Tous les clusters doivent être évalués indépendamment, même s’il s’agit d’un cluster homologue ou d’un cluster de reprise après sinistre.
Process:
- Vérifiez si la valeur est définie à l’aide de la commande suivante (la valeur par défaut est 0) :
# isi_for_array sysctl vfs.vnlru_reuse_freevnodes
- Définition
vfs.vnlru_reuse_freevnodesà 1 :
# isi_sysctl_cluster vfs.vnlru_reuse_freevnodes=1
- Vérifiez que la valeur est définie en exécutant à nouveau la commande :
# isi_for_array sysctl vfs.vnlru_reuse_freevnodesPour surveiller après la modification, utilisez les commandes ci-dessous pour surveiller l’utilisation de
vnode cache et vlurwk bobine:
# isi_for_array -s 'sysctl vfs.numvnodes kern.maxvnodes| xargs'; sleep 300 # isi_for_array -s sysctl kern.malloc_pigs|grep vlurwk
Additional Information
Article Properties
Article Number: 000173892
Article Type: Solution
Last Modified: 18 Jun 2025
Version: 17
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.