[syslog-ng] Re: syslog-ng Digest, Vol 6, Issue 10

Valdis.Kletnieks at vt.edu Valdis.Kletnieks at vt.edu
Sat Oct 8 06:54:42 CEST 2005


On Fri, 07 Oct 2005 23:59:27 +0200, Roberto Nibali said:

> Maybe I needed sleep more than you did ;). But maybe one improvement 
> could be you honoring the fact that PIDs are 16bit. So parsing 5 chars 
> should be enough as an early continue out of the loop.

Erm. No.

On a Linux 2.6 kernel, in include/linux/threads.h:

/*
 * This controls the default maximum pid allocated to a process
 */
#define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000)

/*
 * A maximum of 4 million PIDs should be enough for a while:
 */
#define PID_MAX_LIMIT (CONFIG_BASE_SMALL ? PAGE_SIZE * 8 :         (sizeof(long) > 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT))


On 32-bit kernels, there's some code in the /proc that borks up if the
PID is over 64K (it invents an inode number based on the pid, and the left-shift
overflows).  Running on a 64 bit system, the default is 4M, and can be raised
*much* higher if needed.

And it isn't just Linux either - seen on an AIX box:

# cut -f2 -d'[' /var/adm/seclog | cut -f1 -d']' | sort -nr | uniq | head
191446
191208
191188
191186
191184
191170
191124
191122
191108
191104

Yep, PIDs pushing the 200K mark (AIX plays some funky games when generating
the 'next PID' to reduce cache-line aliasing issues when dereferencing entries
in some structures indexed by PID).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 226 bytes
Desc: not available
Url : http://lists.balabit.hu/pipermail/syslog-ng/attachments/20051008/67687cfe/attachment.pgp


More information about the syslog-ng mailing list