Isilon PowerScale OneFS 8.2 y versiones posteriores: Permitir el abandono de Vnodes libres para nuevos Vnodes cuando la caché está llena
Summary: Permite renunciar a los nodos virtuales libres (Vnodes) para nuevos Vnodes cuando la caché está llena.
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
La ejecución en Vnodes bajos se identifica mediante la visualización de varios
vlruwk Subprocesos en ejecución:
/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: 507En el vmlog, observe que el VNODE está ocupando la memoria más alta:
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
Es posible que los nodos se queden sin memoria (OOM) debido a que no se recuperan los Vnodes libres. En OneFS 8.2 y versiones posteriores, un nuevo systcl se implementó (vfs.vnlru_reuse_freevnodes) para permitir la renuncia a Vnodes libres para nuevos Vnodes cuando la caché está llena.
De forma predeterminada, vnlru_reuse_freevnodes está desactivado porque Isilon prefiere aplazar el reciclaje de Vnodes a vnlru_proc. Encendido vnlru_reuse_freevnodes Permite getvnewvnode() para reciclar los Vnodes libres disponibles para dejar espacio a los nuevos cuando la caché esté llena (pero no sobredimensionada). Esto evita que los asignadores de Vnode se suspendan y evita que se activen vnlru_proc.
Resolution
Advertencia: Obtenga la aprobación del equipo de ingeniería antes de deshabilitar o habilitar
vfs.vnlru_reuse_freevnode. Todos los clústeres se deben evaluar de manera independiente, incluso si son un clúster par o un clúster de recuperación ante desastres.
Proceso:
- Compruebe si el valor se establece con el siguiente comando (el valor predeterminado es 0):
# isi_for_array sysctl vfs.vnlru_reuse_freevnodes
- Poner
vfs.vnlru_reuse_freevnodesa 1:
# isi_sysctl_cluster vfs.vnlru_reuse_freevnodes=1
- Vuelva a ejecutar el comando para verificar que el valor esté configurado:
# isi_for_array sysctl vfs.vnlru_reuse_freevnodesPara monitorear después del cambio, utilice los siguientes comandos a fin de monitorear el uso de
vnode cache y vlurwk Hilos:
# 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.