[Bug 290207] [ZFS] lowering "vfs.zfs.arc.max" to a low value causes kernel threads of "arc_evict" to use 91% CPU and disks to wait. System gets unresponsive...

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 31 Oct 2025 13:56:36 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290207

--- Comment #19 from Nils Beyer <nbe@vkf-renzel.de> ---
(In reply to Mark Millard from comment #18)

======
before
======
right after reboot - no Xorg started, just plain tty:

# top | head -7
last pid:  3829;  load averages:    0.12,    0.03,    0.01; battery: 99%       
                                                                           up
0+00:00:25  14:49:10
538 threads:   13 running, 471 sleeping, 54 waiting
CPU:  0.4% user,  0.0% nice,  1.8% system,  0.1% interrupt, 97.7% idle
Mem: 35M Active, 41M Inact, 539M Wired, 13G Free
ARC: 93M Total, 18M MFU, 71M MRU, 256K Anon, 576K Header, 1957K Other
     58M Compressed, 126M Uncompressed, 2.16:1 Ratio
Swap: 16G Total, 16G Free

# vmstat -o | sort -nr -k5,5 -k1,1 -k10,10 -k9,9 | grep -Ev '[0-9]+ +[0-9]+
+[0-9]+ +[0-9]+     0 ' | head

 2408     0     0     0  2408   1   0 WB  ph 
 1978     0     0     0  1978   3   0 WB  ph 
  200     0     0     0   200   3   0 WB  ph 
  148     0     0     0   148   3   0 WB  ph 
  101     0     0     0   101   3   0 WB  ph 
   68     0     0     0    68   3   0 WB  ph 
   66     0     0     0    66   1   0 WB  ph 
   51     0     0     0    51   3   0 WB  ph 
   47     0     0     0    47   3   0 WB  ph 
   45     0     0     0    45   3   0 WB  ph 

# vmstat -o | sort -nr -k5,5 -k1,1 -k10,10 -k9,9 | grep -Ev '[0-9]+ +[0-9]+
+[0-9]+ +[0-9]+     0 ' | tail
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
  RES   ACT INACT LAUND WIRED REF SHD CM  TP PATH

# vmstat -o | sort -nr -k5,5 -k1,1 -k10,10 -k9,9 | grep -Ev '[0-9]+ +[0-9]+
+[0-9]+ +[0-9]+     0 ' | wc -l
      52


======
action
======
recursively deleting a filled "/usr/src" (resp. "/usr/src.test" which is a
pre-made copy done before the reboot)

# rm -rf /usr/src.test



=====
after
=====
# top | head -7
last pid:  4166;  load averages:    0.00,    0.01,    0.00; battery: 99%  up
0+00:04:26    14:53:10
535 threads:   13 running, 468 sleeping, 54 waiting
CPU:  0.0% user,  0.0% nice,  0.3% system,  0.0% interrupt, 99.6% idle
Mem: 34M Active, 42M Inact, 1634M Wired, 12G Free
ARC: 114M Total, 13M MFU, 94M MRU, 256K Anon, 1179K Header, 5782K Other
     94M Compressed, 161M Uncompressed, 1.72:1 Ratio
Swap: 16G Total, 16G Free

# vmstat -o | sort -nr -k5,5 -k1,1 -k10,10 -k9,9 | grep -Ev '[0-9]+ +[0-9]+
+[0-9]+ +[0-9]+     0 ' | head
 2440     0     0     0  2440   1   0 WB  ph 
 1978     0     0     0  1978   3   0 WB  ph 
  200     0     0     0   200   3   0 WB  ph 
  148     0     0     0   148   3   0 WB  ph 
  101     0     0     0   101   3   0 WB  ph 
   68     0     0     0    68   3   0 WB  ph 
   66     0     0     0    66   1   0 WB  ph 
   51     0     0     0    51   3   0 WB  ph 
   47     0     0     0    47   3   0 WB  ph 
   45     0     0     0    45   3   0 WB  ph 

# vmstat -o | sort -nr -k5,5 -k1,1 -k10,10 -k9,9 | grep -Ev '[0-9]+ +[0-9]+
+[0-9]+ +[0-9]+     0 ' | tail
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
    3     0     0     0     3   3   0 WB  ph 
  RES   ACT INACT LAUND WIRED REF SHD CM  TP PATH

# vmstat -o | sort -nr -k5,5 -k1,1 -k10,10 -k9,9 | grep -Ev '[0-9]+ +[0-9]+
+[0-9]+ +[0-9]+     0 ' | wc -l
      52

-- 
You are receiving this mail because:
You are the assignee for the bug.