Weird performances: -CURRENT vs 5.2.1
sam
sam.wun at tech-21.com.hk
Thu Aug 19 01:35:37 PDT 2004
Marc Fonvieille wrote:
>On Wed, Aug 18, 2004 at 05:05:13PM -0400, Mike Tancsa wrote:
>
>
>>Hi,
>> As someone who is also going to start testing the waters with
>>RELENG_5 on some non critical production servers (e.g. one of n spam and av
>>scanning machines), I take it you mean,
>>
>>
>>NOTE TO PEOPLE WHO THINK THAT FreeBSD 5.x IS SLOW:
>> FreeBSD 5.x has many debugging features turned on, in
>> both the kernel and userland. These features attempt to detect
>> incorrect use of system primitives, and encourage loud failure
>> through extra sanity checking and fail stop semantics. They
>> also substantially impact system performance. If you want to
>> do performance measurement, benchmarking, and optimization,
>> you'll want to turn them off. This includes various WITNESS-
>> related kernel options, INVARIANTS, malloc debugging flags
>> in userland, and various verbose features in the kernel. Many
>> developers choose to disable these features on build machines
>> to maximize performance.
>>
>>
>>Are there more details somewhere as to what exactly to turn off and tweak ?
>>
>>
>>
>
>It's not really documented. To sum up, you have to remove these lines
>from your kernel configuration file:
>
>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
>
># Debugging for use in -current
>options KDB # Enable kernel debugger support.
>options DDB # Support DDB.
>options GDB # Support remote GDB.
>options INVARIANTS # Enable calls of extra sanity checking
>options INVARIANT_SUPPORT # Extra sanity checks of internal struct
>ures, required by INVARIANTS
>options WITNESS # Enable checks to detect deadlocks and cycles
>options WITNESS_SKIPSPIN # Don't run witness on spinlocks for spe
>ed
>
>In fact INVARIANTS and WITNESS related lines are the more important to
>maximize performance, the others lines do not really change things.
>And then do a:
>
>ln -s aj /etc/malloc.conf
>
>
This looks like a trick. "aj" is actually not existed in the system.
You meant created a malloc.conf pointing to a non-exist aj for the
improvment of the malloc operation?
root at fbsd [3:31pm] [...i386/conf]# ls -l /etc/malloc.conf
lrwxr-xr-x 1 root wheel 2 Aug 19 15:31 /etc/malloc.conf@ -> aj
root at fbsd [3:34pm] [...i386/conf]#
root at fbsd [3:34pm] [...i386/conf]# ls -l /etc/aj
ls: /etc/aj: No such file or directory
root at fbsd [3:34pm] [...i386/conf]#
Sam
>This one is important too, by default malloc routines uses AJ flags (be
>careful with the case) under -CURRENT, even if you don't have any
>malloc.conf file, look at malloc(3) manual page for more details.
>
>Marc
>
>
More information about the freebsd-current
mailing list