On Mon, 9 Jun 2003, Garrett Wollman wrote: > I just noticed my news server hanging in nbufkv state, apparently > having hosed itself overnight (about 15 hours ago); expire was still > running, although it was not the only process waiting. I can't find > anything in the -current archives from this century. Any suggestions? This means that the buffer map is fragmented, and the code to defragment it has a bug. > FWIW, most of the filesystems on this machine use 64k/8k blocks. Block sizes larger than the BKVASIZE (default: 16K) are precisely what is needed to check for bugs in the buffer map defragmentation code. I wouldn't use them except to debug this code. Fragmentation also increases CPU overhead, perhaps significantly. If you have virtual address space to spare (which is normal if you don't need it for mbufs or use machine with more than 32 bits of virtual address space), then you can prevent the fragmentation by increasing BKVASIZE to a value large than all block sizes in use. I use 64K for it. I also use some related fixes for broken scaling of nbuf. nbuf is reduced as BKVASIZE is increased, but that is wrong if there is enough virtual address space to fit the larger BKVASIZE. BruceReceived on Mon Jun 09 2003 - 16:34:53 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:11 UTC