ten thousand small processes

Pedram Nimreezi Support at Netflag.Net
Sat Jun 21 18:19:09 PDT 2003

I hope that gets corrected to your liking..  I know this is irrelevant,
but I just wanted to thank you for tinydns... it makes programming
with dns soo much.. what's the technical term? better!
generate an ssh key and hop into your service directory and
./add-alias subdomain.domain.com; make

wow... And best of all... I don't need to use a dual processor to
run a 500 pound gorilla named BIND.
Thank You Doctor Bernstein.

Maybe LDAP later on when it's more widely used?
You can't get much simpler than you already got it..

svstat /service/tinydns  and you get your exact service uptime

I have carpal tunnel... I'm sure you could relate
anything to save typing is a Good Thing.. Doing that in BIND
is hardly similar in triviality.

I don't suggest going straight into TinyDNS.. I suggest learning
BIND so you really appreciate the craftsmanship of you work and
I will continue to phrase it like that to clients and apprentices and
the fact that I saw you post on FBSD Hackers ;-)

God Bless...

At 06:58 PM 6/21/2003 +0000, D. J. Bernstein wrote:
>FreeBSD 4.8. Test program: malloc(360); malloc(80); malloc(180);
>malloc(16); malloc(440); sleep(10); _exit(0). Compile statically.
>The program ends up with 44KB RSS. Where is all that DRAM going? The
>program also ends up with 168KB VSZ. Where is all that VM going?
>I don't care much about the 3-page text segment. But I do care about the
>39 extra pages of VM, and the 8 extra pages of DRAM. There's no obstacle
>to having a small program fit into _one_ page per process; two or three
>can be excused, but 39 is absurd. (Yes, I know that Solaris is worse.)
>At least 2 pages appear to be wasted by exit(), because it brings in a
>chunk of stdio, which uses 84 bytes of data and 316 bytes of bss. The
>libc implementors clearly don't care about 316 bytes of memory, so why
>don't they make those 316 bytes static? Why doesn't the compiler
>automatically merge some bss into data when that saves a page? Why can't
>I omit exit(), manually or automatically, when it's unreachable?
>Furthermore, malloc() appears to chew up a whole new page of DRAM for
>each allocation, plus another page---is this counted in VSZ?---for an
>anonymous mmap. Would it really be that difficult to fit 1076 bytes of
>requested memory into the 3000-odd bytes available at the end of bss?
>I sure hope that there's some better explanation for the remaining 32
>pages than ``Well, we decided to allocate 131072 bytes of memory for the
>stack,'' especially when I'm hard-limiting the stack to 4K before exec.
>---D. J. Bernstein, Associate Professor, Department of Mathematics,
>Statistics, and Computer Science, University of Illinois at Chicago
>freebsd-performance at freebsd.org mailing list
>To unsubscribe, send any mail to 
>"freebsd-performance-unsubscribe at freebsd.org"

More information about the freebsd-performance mailing list