On Tue, Feb 07, 2006 at 03:42:06PM -0800, Cynthia Kiser wrote: > I have noticed that when I start AOLserver 3.3 on (a rather old > version of) Linux, I get multiple processes, but when starting > AOLserver 4.0 on a modern Linux, I only get one. So was 3.3 not
No you don't. You get exactly the same thing in both cases, AOLserver has not changed at all in that respect. What changed is how the Linux "ps" command and related stuff works, that's all. The threads are still the same, it's just how they're displayed that's different. > What is stacksize? is that memory allocated per thread? per I don't really know much about this, the folks like Don B. who've written compilers and/or otherwise had to deal with such lower level issues would have much a clearer understanding. But... It's the size of the C stack, which is used for (some?) static memory allocation. C function arguments are typically passed on the stack. Its size is important because for speed reasons every real-world C compiler does puts function activation frames on the stack, NOT the heap, and does NOT check if the stack is too small. So if your program tries to use too much of it, blam, segmentatin fault. Pretty much all modern OS's don't REALLY allocate stack space until it gets used, so you don't actually waste any memory by setting a very large stack size. However, you DO waste address space, and in 32-bit systems, address space is in short supply. If you want to use lots of threads, you either need small stacks, or a 64-bit OS. > connection? How would one go about determining an optimal value for > that parameter? Is there something better than set it conservatively > and increase it if you get a stacksize error? Unfortunately, no not really AFAIK. There are a few tools out there to try to help you do that more scientifically but I'm not familiar with them. > What is fastpath and how does it work? Some kind of in-memory cacheing for static HTML files, in AOLserver. Other than that I know nothing much about it. > When should one use mmap()? and if you don't, what is used? Why does this question arise at all in an AOLserver context? If you're writing C code which reads or writes files, you might care about mmap(), otherwise not. (Google has more info.) But basically, mmap maps the contents of a file into your memory address space, and then reads/writes lazily behind the scenes whenever you read/write to a memory address. mmap() can be both convenient for the programmer and high performance. Problem is, on a 32-bit system the small amount of address space limits your max file size to 2 GB or so. (And it's for exactly that reason that SQLite does NOT use mmap.) On a 64-bit OS, that problem goes away. -- Andrew Piskorski <[EMAIL PROTECTED]> http://www.piskorski.com/ -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.
