Isilon PowerScale OneFS 8.2 이상: Allow Abandon up Free Vnode for New Vnode When the Cache is Full(캐시가 가득 찼을 때 새 vnode에 대한 여유 vnode 포기 허용)

Summary: 캐시가 가득 찼을 때 새 Vnode에 대해 사용 가능한 가상 노드(Vnode)를 포기할 수 있습니다.

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

낮은 Vnode에서 실행 중인 경우 vlruwk 실행 중인 스레드:
/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
vmlog에서 VNODE가 가장 많은 메모리를 사용하고 있음을 알 수 있습니다.
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

여유 Vnode를 재확보하지 않아 노드에 OOM(메모리 부족)이 발생할 수 있습니다. OneFS 8.2 이상에서는 새로운 systcl 구현되었습니다(vfs.vnlru_reuse_freevnodes)을 사용하여 캐시가 가득 찼을 때 새 Vnode에 대한 무료 Vnode를 포기할 수 있습니다.

기본적으로, vnlru_reuse_freevnodes Isilon이 Vnode 재활용을 다음으로 연기하는 것을 선호하기 때문에 꺼져 있습니다. vnlru_proc. 켜기 vnlru_reuse_freevnodes 허용 getvnewvnode() 사용 가능한 Vnode를 재활용하여 캐시가 가득 찼을 때 새 Vnode를 위한 공간을 확보합니다(그러나 크기가 초과되지는 않음). 이렇게 하면 Vnode 할당자가 절전 모드로 전환되는 것을 방지하고 깨어나지 않도록 할 수 있습니다 vnlru_proc.

Resolution

주의: 비활성화 또는 활성화하기 전에 엔지니어링 승인 받기 vfs.vnlru_reuse_freevnode. 피어 클러스터 또는 재해 복구 클러스터인 경우에도 모든 클러스터는 독립적으로 평가되어야 합니다.

프로세스:
  1. 값이 다음 명령으로 설정되었는지 확인합니다(기본값은 0).
# isi_for_array sysctl vfs.vnlru_reuse_freevnodes
  1. 설정 vfs.vnlru_reuse_freevnodes 에 1:
# isi_sysctl_cluster vfs.vnlru_reuse_freevnodes=1
  1. 다음 명령을 다시 실행하여 값이 설정되었는지 확인합니다.
# isi_for_array sysctl vfs.vnlru_reuse_freevnodes
변경 후 모니터링하려면 아래 명령을 사용하여 vnode cachevlurwk 스레드:
# 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.