tuning hints for PAE

Daniel Lang dl at leo.org
Thu Jul 15 11:34:17 PDT 2004


Hi,

I've re-activated PAE for our server which has now 6 GB of RAM.

Thanks to a hint from Peter and basic knowledge about KVA, I have
included

options         KVA_PAGES=768

in the kernel config. This should yield 2GB of KVA if I have
understood Peter correctly.


Now a panic has happened, I have a ddb trace:

[..]
page_alloc(a81e46e0,1000,cf6f07ab,102,a04f4cd4) at 0xa045e4a2 = page_alloc+0x1a
slab_zalloc(a81e46e0,2,a81e4728,a81e46e0,b1de7624) at 0xa045e14b = slab_zalloc+0x9f
uma_zone_slab(a81e46e0,2,80,46e0,a81e4728) at 0xa045f3c0 = uma_zone_slab+0xb0
uma_zalloc_bucket(a81e46e0,2) at 0xa045f5ac = uma_zalloc_bucket+0x124
uma_zalloc_arg(a81e46e0,0,2) at 0xa045f2c3 = uma_zalloc_arg+0x25f
ffs_vget(a8200c00,1823ed,2,cf6f08ec,200) at 0xa043d1be = ffs_vget+0x2ea
ffs_valloc(aa07a000,81b6,b113a280,cf6f08ec) at 0xa0426519 = ffs_valloc+0xe5
ufs_makeinode(81b6,aa07a000,cf6f0bf8,cf6f0c0c) at 0xa0449539 = ufs_makeinode+0x59
ufs_create(cf6f0a6c,cf6f0b28,a03a515b,cf6f0a6c,678) at 0xa04461e6 = ufs_create+0x26
ufs_vnoperate(cf6f0a6c) at 0xa0449b4f = ufs_vnoperate+0x13
vn_open_cred(cf6f0be4,cf6f0ce4,1b6,b113a280,a) at 0xa03a515b = vn_open_cred+0x177
vn_open(cf6f0be4,cf6f0ce4,1b6,a,a0543620) at 0xa03a4fe2 = vn_open+0x1e
kern_open(b2955000,80a7911,0,20a,1b6) at 0xa039f474 = kern_open+0xd8
open(b2955000,cf6f0d14,3,105ed,292) at 0xa039f398 = open+0x18
syscall(80c002f,810002f,9f7f002f,8,283536d8) at 0xa049f6c3 = syscall+0x217
Xint0x80_syscall() at 0xa048ce0f = Xint0x80_syscall+0x1f
--- syscall (5, FreeBSD ELF32, open), eip = 0x282ce093, esp = 0x9f7fe30c, ebp = 0x9f7fe338 ---
[..]

trace may be truncated, I could not save everything including
the panic message itself, alas. 

I don't have a crashdump (the dump-device was less than 6 GB, I have
fixed this meanwhile, but it reminds me of Solaris which can dump
only kernel and curproc pages if requested), but I suspect this panic
is due to kernel-address space exhaustion. So maybe the KVA_PAGES
was still wrong.

I also get the following message:

kern.ipc.maxpipekva exceeded; see tuning(7)

The hint is rather useless, since the tuning manpage does
not cover a lot of aspects, including this parameter.

Hmmm, I think I used to have set

kern.maxusers=768 (I have cleared this now, to utilize the autotuning
of this parameter). Maybe this was a problem as well.

In the past I used to have also set kern.ipc.nmbcluster, but IIRC
this is now tuned automatically as well.

I have bumped kern.ipc.somaxconn to 1024 of course.

Anything other parameters I should look out for tuning?
If there is some more comprehensive documentation than tuning(7)
and the Handbook section (yes, I have read it), please let me know.

Cheers,
 Daniel
-- 
IRCnet: Mr-Spock         - ceterum censeo Microsoftinem esse delendam -  
 Daniel Lang * dl at leo.org * +49 89 289 18532 * http://www.leo.org/~dl/


More information about the freebsd-current mailing list