7.0-Beta 3: zfs makes system reboot
Johan Ström
johan at stromnet.se
Sun Dec 2 05:15:53 PST 2007
On Dec 2, 2007, at 13:33 , Johan Ström wrote:
> On Nov 30, 2007, at 17:27 , Michael Rebele wrote:
>
>> Hello,
>>
>> i'm testing the zfs since 7.0-Beta 1.
>> First, i had only access to an 32 Bit Machine (P4/3GHz with 2GB
>> RAM, 2xHD for RAID1 and 2xHD for ZFS Raid 0).
>>
>> While running iozone with the following call:
>> iozone -R -a -z -b file.wks -g 4G -f testile
>>
>> (This is inspired by Dominic Kay from Sun, see http://
>> blogs.sun.com/dom/entry/zfs_v_vxfs_iozone for details).
>>
>> the well known "kmem_malloc" error occured and stopped the system.
>> (panic: kmem_malloc (131072): kmem_map too small: 398491648 total
>> allocated cpuid=1)
>>
>> I tested several optimizations as suggested in the ZFS Tuning
>> Guide and several postings on this list.
>> The problem stayed mainly the same, it stopped with a
>> "kmem_malloc" or rebooted without warning. This depends on the
>> configuration, if i raised the vm.kmem_-sizes or only the
>> KVA_PAGES or both.
>> But it never ever made the benchmark. With more memory in
>> vm.kmem_size and vm.kmem_size_max, the problem came later.
>>
>>
>>
>> But ok, the main target for the ZFS is to use amd64, not i386. Now
>> i have access to an Intel Woodcrest-System, it's a Xeon 5160 with
>> 4GB RAM and 1xHD. It has UFS for the System and Home and one ZFS
>> only for data (for the iozone-Benchmark).
>> It has a vanilla kernel, i haven't touched it. I've tested the
>> default settings from Beta 3 and applied the tuning tips from the
>> Tuning Guide.
>> It shows the same behaviour as on the 32 Bit machine. One major
>> difference: it makes always a reboot. There's no kmem_malloc error
>> message (which made the system hang).
>>
>> The problem is the "-z" option in the iozone-Benchmark. Without
>> it, the benchmark works (on the i386 and on the amd64-Machine).
>> This option makes iozone testing small record sizes for large
>> files. On an UFS-Filesystem, iozone works with the "-z" option.
>> Though, it seems to me, that this is a problem with ZFS.
>>
>> Here are some more informations (from the amd64-System):
>>
>> 1. The captured iozone output
>>
>> [root at zfs /tank/iozone]# iozone -R -a -z -b filez-512M.wks -g 4G -
>> f testile
>> ...
>
>
> For the record, I can reproduce the same thing on amd64 FreeBSD
> RELENG_7 (installed from beta3 2 days ago) from 2 days ago. Its a
> c2d box with 2Gb of memory and two satadrives in zpool mirror. No
> special tweaking whatsoever yet..
> The panic was Page fault, supervisor read instruction page not
> present.. so not the (apparently) regular kmem_malloc? So I doubt
> the other patch that was linked to by Alexandre would help?
>
> iozone got to
> Run began: Sun Dec 2 13:11:53 2007
>
> Excel chart generation enabled
> Auto Mode
> Cross over of record size disabled.
> Using maximum file size of 4194304 kilobytes.
> Command line used: iozone -R -a -z -b file.wks -g 4G -f
> testile
> Output is in Kbytes/sec
> Time Resolution = 0.000001 seconds.
> Processor cache size set to 1024 Kbytes.
> Processor cache line size set to 32 bytes.
> File stride size set to 17 * record size.
> random
> random bkwd record stride
> KB reclen write rewrite read reread
> read write read rewrite read fwrite frewrite fread
> freread
> 64 4 122584 489126 969761 1210227 1033216
> 503814 769584 516414 877797 291206 460591 703068 735831
> 64 8 204474 735831 1452528 1518251 1279447
> 799377 1255511 752329 1460430 372410 727850 1087638 1279447
> ......
> 131072 4 65734 71698 1011780 970967
> 755928 5479 1008858 494172 931232 65869 68155 906746
> 910950
> 131072 8 79507 74422 1699148 1710185
> 1350184 10907 1612344 929991 1372725 34699 74782 1407638
> 1429434
> 131072 16 82479 74279 2411000 2426173
> 2095714 25327 2299061 1608974 2038950 71102 69200 1887231
> 1893067
> 131072 32 75268 73077 3276650 3326454
> 2954789 70573 3195793 2697621 2987611
> then it died
>
> No cores dumped however.. Altough I'm running on a gmirror for
> swap, if I recall correct at least 6.x couldnt dump to a gmirror, I
> guess 7.x cant either then.. Altought the dump message DID say it
> dumped memory (and it did say Dump complete), savecore didnt find
> any dumps at boot..
>
> The box didnt do anything else during this test, and is not running
> any apps yet. Havent encounterd the problem before, but then again
> I've only been playing with it for 2 days without any real hard
> test (just scp'ed about 50 gigs of data to it, but thats it)
Ehr.. im sorry, I think i missread the dump.. or rather the whole
dump wasnt on screen.. just did the same test again:
panic: kmem_malloc(131082): kmem_map too small: 412643328 total
allocated
and page fault..
I'll test that VM patch.
--
Johan
More information about the freebsd-current
mailing list