Process Identifiers
By default Linux wraps around the process identifiers when they exceed 32768. Increasing the interval between these rollovers is beneficial to ease process identifcation and process management within Condor (i.e., prevent fork() failures). You can find the current maximum pid number with:
cat /proc/sys/kernel/pid_max
You can set the value higher (up to 2^22 on 32-bit machines: 4,194,304) with:
echo 4194303 > /proc/sys/kernel/pid_max
WARNING: Increasing this limit may break programs that use the old-style SysV IPC interface and are linked against pre-2.2 glibcs. Although it is unlikely that you will run any of these programs.
Again, you'll want to add it to your rc.local or equivalent boot script to ensure this is reset on every boot.
On some systems (this appears to be the case for all recent Red Hat distributions), you can instead add a line to your /etc/sysctl.conf. You would do this instead of the above commands. This will be the more natural solution for such systems, but you'll need to reboot the system or use the sysctl program for it to take effect. You need to append the following to your /etc/sysctl.conf:
#Allow for more PIDs (to reduce rollover problems); may break some programs
kernel.pid_max = 4194303
To verify that the values are correctly set, you can use the following command:
cat /proc/sys/kernel/pid_max