>>>>> "Nate" == Nate Amsden <[EMAIL PROTECTED]> writes:
Nate> Brett wrote: >> I'm running qmail and am trying to set up linux to allow for >> hundreds of outgoing connections at once (no, I'm not a spammer >> but the new admin of some very large, dynamic mailing lists). I'm >> using Debian Linux 2.2.18pre21 and from what I read, it should be >> quite possible to adjust the maximum processes per user through >> 'limit' (or 'ulimit' depending on the shell) rather than adjusting >> and recompiling the kernel. Well, I'm root, I do the adjustments >> to limit ('limit maxproc 1000') but when I check the logs, qmail >> never gets above 257 concurrency (256 is the default limit of >> maxproc). I do a 'limit' Nate> probably because you did not restart qmail *using the shell Nate> with the modified ulimits*. probably you are correct. however, there is another possibility: the limitation on the total number of processes allowed by the kernel. <warning msg="I am not a kernel hacker"> check out the kernel include file include/linux/tasks.h. (this is assuming you are running some sort of 2.2.x kernel.) you will see two lines like the following: #define NR_TASKS 2048 /* On x86 Max 4092, or 4090 w/APM configured. */ #define MAX_TASKS_PER_USER (NR_TASKS/2) on my debian potato system, the first line was set to something much smaller than the value above. memory may be failing me, but I think it was initially set to 512. which would make MAX_TASKS_PER_USER == 256. I ran into this when I had a Java program that was unable to spawn more than 256 threads. after increasing NR_TASKS, all was well. I also initially suspected ulimit, but found that making everything unlimited did not solve the problem. a recompiled kernel with the above changes did. finally, I am not sure that the above is the "authorized" way of increasing the maximum number of processes in a linux kernel. you have been warned. also, I think that 2.4 kernels do not have this problem at all (or at least, the solution would be different) because they do not have a fixed size data structure to hold task data. </warning> -- joe