Последняя активность 1788288158

ZZ's Avatar ZZ ревизий этого фрагмента 1788288158. К ревизии

1 file changed, 1 deletion

Gemini-ZFS-Fix.md

@@ -19,7 +19,6 @@ ZFS Notes
19 19 - ZFS ARC Size Floor: `cat /sys/module/zfs/parameters/zfs_arc_min`
20 20 - ZFS ARC Size Ceiling: `cat /sys/module/zfs/parameters/zfs_arc_max`
21 21 - ZFS ARC with alloc 50% of system mem by default, which could crash into a memory hugepage.
22 - - Balance Hugepages and ZFS ARC mem directly via the kernel command line
23 22 - `cat /proc/spl/kstat/zfs/arcstats`
24 23 ```
25 24 boot.kernelParams = [

ZZ's Avatar ZZ ревизий этого фрагмента 1788288127. К ревизии

1 file changed, 2 insertions, 1 deletion

Gemini-ZFS-Fix.md

@@ -14,7 +14,8 @@ sudo echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
14 14 ```
15 15
16 16 ZFS Notes
17 - - ZFS ARC Mem Use: `zarcstat # size`
17 + - ZFS ARC Mem Use: `zarcstat`
18 + - ZFS ARC Summary: `zarcsummary`
18 19 - ZFS ARC Size Floor: `cat /sys/module/zfs/parameters/zfs_arc_min`
19 20 - ZFS ARC Size Ceiling: `cat /sys/module/zfs/parameters/zfs_arc_max`
20 21 - ZFS ARC with alloc 50% of system mem by default, which could crash into a memory hugepage.

ZZ's Avatar ZZ ревизий этого фрагмента 1788288094. К ревизии

1 file changed, 1 insertion, 1 deletion

Gemini-ZFS-Fix.md

@@ -15,7 +15,7 @@ sudo echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
15 15
16 16 ZFS Notes
17 17 - ZFS ARC Mem Use: `zarcstat # size`
18 - - ZFS ARC Size Floor: `zarcstat # c for floor`
18 + - ZFS ARC Size Floor: `cat /sys/module/zfs/parameters/zfs_arc_min`
19 19 - ZFS ARC Size Ceiling: `cat /sys/module/zfs/parameters/zfs_arc_max`
20 20 - ZFS ARC with alloc 50% of system mem by default, which could crash into a memory hugepage.
21 21 - Balance Hugepages and ZFS ARC mem directly via the kernel command line

ZZ's Avatar ZZ ревизий этого фрагмента 1788285274. К ревизии

1 file changed, 2 insertions, 1 deletion

Gemini-ZFS-Fix.md

@@ -19,13 +19,14 @@ ZFS Notes
19 19 - ZFS ARC Size Ceiling: `cat /sys/module/zfs/parameters/zfs_arc_max`
20 20 - ZFS ARC with alloc 50% of system mem by default, which could crash into a memory hugepage.
21 21 - Balance Hugepages and ZFS ARC mem directly via the kernel command line
22 + - `cat /proc/spl/kstat/zfs/arcstats`
22 23 ```
23 24 boot.kernelParams = [
24 25 # Balance Hugepage and ZFS ARC mem alloc limits directly via kernel command line
25 26 "hugepages=96"
26 27 "hugepagesz=1G"
27 28 "default_hugepagesz=1G"
28 - "transparent_hugepage=never"
29 + "transparent_hugepage=never" # Blocks the host kernel from modifying or merging memory blocks behind the back of OpenZFS and your VM hypervisor.
29 30 "zfs.zfs_arc_min=4294967296"
30 31 "zfs.zfs_arc_max=12884901888"
31 32 ]

ZZ's Avatar ZZ ревизий этого фрагмента 1788284986. К ревизии

1 file changed, 1 insertion, 1 deletion

Gemini-ZFS-Fix.md

@@ -16,7 +16,7 @@ sudo echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
16 16 ZFS Notes
17 17 - ZFS ARC Mem Use: `zarcstat # size`
18 18 - ZFS ARC Size Floor: `zarcstat # c for floor`
19 - - ZFS ARC Size Ceiling: cat /sys/module/zfs/parameters/zfs_arc_max
19 + - ZFS ARC Size Ceiling: `cat /sys/module/zfs/parameters/zfs_arc_max`
20 20 - ZFS ARC with alloc 50% of system mem by default, which could crash into a memory hugepage.
21 21 - Balance Hugepages and ZFS ARC mem directly via the kernel command line
22 22 ```

ZZ's Avatar ZZ ревизий этого фрагмента 1788283977. К ревизии

1 file changed, 4 insertions, 2 deletions

Gemini-ZFS-Fix.md

@@ -1,7 +1,9 @@
1 - - Root Cause 1 (Kernel Panic): An interface bug between Linux Kernel 6.18 code allocation profiling hooks (CONFIG_MEM_ALLOC_PROFILING) and the out-of-tree OpenZFS driver module. Background ZFS I/O workers drop pointers during slab memory cleanups, triggering __alloc_tagging_slab_free_hook page faults.
1 + When you have 128 GB of RAM, ZFS defaults to a 64 GB ARC max ceiling. If your Windows VM pins 96 GB via hugepages, your system is mathematically trying to commit 160 GB of RAM on a 128 GB physical machine.
2 + Since hugepages cannot be unpinned, the host kernel starves, leading directly to the brutal cascading page faults and segmentation faults you experienced.
2 3
4 + Technical Case Notes:
5 + - Root Cause 1 (Kernel Panic): An interface bug between Linux Kernel 6.18 code allocation profiling hooks (CONFIG_MEM_ALLOC_PROFILING) and the out-of-tree OpenZFS driver module. Background ZFS I/O workers drop pointers during slab memory cleanups, triggering __alloc_tagging_slab_free_hook page faults.
3 6 - Root Cause 2 (Segfaults / Exit Code 139): Core memory allocation collision. Pinned Windows VM static hugepages (96 GB) combined with default OpenZFS ARC ceilings (50% of host RAM = 64 GB) exceeded physical RAM capacity (128 GB). This starved the host kernel during intensive parallel nixos-rebuild compiler routines, triggering segmentation faults across Python, Sphinx, and VS Code extraction tools.
4 -
5 7 - Neutralize Kernel Allocation Profiling HooksForce the Linux kernel to bypass the unpatched memory tracking hooks that conflict with out-of-tree file system drivers.Action: Upgrade to a fixed minor kernel release (e.g., 6.18.48+) and append alloc_tag_boot=off directly to the boot loader command line parameters.
6 8
7 9 ```

ZZ's Avatar ZZ ревизий этого фрагмента 1788282701. К ревизии

1 file changed, 30 insertions

Gemini-ZFS-Fix.md(файл создан)

@@ -0,0 +1,30 @@
1 + - Root Cause 1 (Kernel Panic): An interface bug between Linux Kernel 6.18 code allocation profiling hooks (CONFIG_MEM_ALLOC_PROFILING) and the out-of-tree OpenZFS driver module. Background ZFS I/O workers drop pointers during slab memory cleanups, triggering __alloc_tagging_slab_free_hook page faults.
2 +
3 + - Root Cause 2 (Segfaults / Exit Code 139): Core memory allocation collision. Pinned Windows VM static hugepages (96 GB) combined with default OpenZFS ARC ceilings (50% of host RAM = 64 GB) exceeded physical RAM capacity (128 GB). This starved the host kernel during intensive parallel nixos-rebuild compiler routines, triggering segmentation faults across Python, Sphinx, and VS Code extraction tools.
4 +
5 + - Neutralize Kernel Allocation Profiling HooksForce the Linux kernel to bypass the unpatched memory tracking hooks that conflict with out-of-tree file system drivers.Action: Upgrade to a fixed minor kernel release (e.g., 6.18.48+) and append alloc_tag_boot=off directly to the boot loader command line parameters.
6 +
7 + ```
8 + # Disable hugepages before recompiling kernel
9 + sudo sysctl -w vm.nr_hugepages=0
10 + sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
11 + sudo echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
12 + ```
13 +
14 + ZFS Notes
15 + - ZFS ARC Mem Use: `zarcstat # size`
16 + - ZFS ARC Size Floor: `zarcstat # c for floor`
17 + - ZFS ARC Size Ceiling: cat /sys/module/zfs/parameters/zfs_arc_max
18 + - ZFS ARC with alloc 50% of system mem by default, which could crash into a memory hugepage.
19 + - Balance Hugepages and ZFS ARC mem directly via the kernel command line
20 + ```
21 + boot.kernelParams = [
22 + # Balance Hugepage and ZFS ARC mem alloc limits directly via kernel command line
23 + "hugepages=96"
24 + "hugepagesz=1G"
25 + "default_hugepagesz=1G"
26 + "transparent_hugepage=never"
27 + "zfs.zfs_arc_min=4294967296"
28 + "zfs.zfs_arc_max=12884901888"
29 + ]
30 + ```
Новее Позже