Isilon PowerScale OneFS 8.2 och senare: Tillåt att ge upp gratis virtuella noder för nya virtuella noder när cachen är full

Summary: Tillåt att kostnadsfria virtuella noder (Vnodes) ges upp för nya virtuella noder när cachen är full.

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

Körning på låga Vnodes identifieras genom att se flera vlruwk Trådar som körs:
/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: 507
Lägg märke till att VNODE tar det högsta minnet i vmlog:
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: 2200045K

Cause

Noder kan få slut på minne (OOM) på grund av att fria virtuella noder inte återtas. I OneFS 8.2 och senare visas en ny systcl genomfördes (vfs.vnlru_reuse_freevnodes) för att göra det möjligt att ge upp gratis Vnodes för nya Vnodes när cachen är full.

Som standard vnlru_reuse_freevnodes är avstängd eftersom Isilon föredrar att skjuta upp återvinningen av Vnodes till vnlru_proc. Sätta på vnlru_reuse_freevnodes Tillåter getvnewvnode() för att återvinna tillgängliga gratis Vnodes för att göra plats för nya när cachen är full (men inte överdimensionerad). Detta förhindrar Vnode-allokerare från att sova och undviker att vakna vnlru_proc.

Resolution

Viktigt! Få tekniskt godkännande innan du inaktiverar eller aktiverar vfs.vnlru_reuse_freevnode. Alla kluster bör utvärderas oberoende av varandra, även om de är ett peer-kluster eller haveriberedskapskluster.

Process:
  1. Kontrollera om värdet har angetts med följande kommando (standardvärdet är 0):
# isi_for_array sysctl vfs.vnlru_reuse_freevnodes
  1. Ställa vfs.vnlru_reuse_freevnodes till 1:
# isi_sysctl_cluster vfs.vnlru_reuse_freevnodes=1
  1. Kontrollera att värdet har angetts genom att köra kommandot igen:
# isi_for_array sysctl vfs.vnlru_reuse_freevnodes
Om du vill övervaka efter ändringen använder du kommandona nedan för att övervaka användningen av vnode cache och vlurwk Trådar:
# 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.