Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Apr 2015 08:22:00 +0000
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
Cc:        arch@freebsd.org
Subject:   Re: default file descriptor limit ?
Message-ID:  <79209.1428913320@critter.freebsd.dk>
In-Reply-To: <78759.1428912996@critter.freebsd.dk>
References:  <78759.1428912996@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
--------
In message <78759.1428912996@critter.freebsd.dk>, Poul-Henning Kamp writes:
>	$ limits
>	Resource limits (current):
>	[...]
>	openfiles              462357
>
>say what ?
>
>This wastes tons of pointless close system calls in programs which
>use the suboptimal but best practice:
>
>	for (i = 3; i < sysconf(_SC_OPEN_MAX); i++)
>		close(i);
>
>For reference Linux seems to default to 1024, leaving it up to
>massive server processes to increase the limit for themselves.
>
>I'm all for autosizing things but this is just plain stupid...

Just to give an idea how utterly silly this is:

	#include <stdio.h>
	#include <unistd.h>

	int
	main(int c, char **v)
	{
		int i, j;

		for (j = 0; j < 100; j++)
			for (i = 3; i < sysconf(_SC_OPEN_MAX); i++)
				close(i);
		return (0);
	}

Linux:  	 0.001 seconds
FreeBSD:	17.020 seconds


PS: And don't tell me to fix all code in /usr/ports to use closefrom(2).

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?79209.1428913320>