On Sat, Dec 6, 2014 at 9:20 AM, Stuart Henderson <s...@spacehopper.org> wrote:
> On 2014-12-02, sven falempin <sven.falem...@gmail.com> wrote:
>> Hello,
>>
>> I am more or less forced to test Squid.
>> OpenBSD test.my.domain 5.6 GENERIC.MP#333 amd64
>>
>> I have two problems:
>>
>><<
>> WARNING! Your cache is running out of filedescriptors
>>>>
>>
>> And probably have to read more about ICAP
>><<
>> suspending ICAP service for too many failures
>>>>
>>
>>
>> My question is about the fds,
>> i tried to add
>>
>> squid:\
>>         :openfiles-cur=4096:\
>>         :tc=daemon:
>
> Follow the instructions in the pkg-readme exactly and let me know if you
> still have problems. If you want to make adjustments to limits etc then
> do that after trying the suggested configuration.
>
> In your case you most likely have an invalid config, the openfiles-max
> limit will probably be *lower* than your openfiles-cur. OpenBSD used to
> accept this and use the higher limit, but a couple of releases ago this
> was changed for posix compatibility. The example in the pkg-readme just
> sets openfiles, overriding both -cur and -max.
>
>> into login.conf and did not forget to 'push' it
>>
>> # cap_mkdb /etc/login.conf
>> # echo $?
>> 0
>
> You only have to run cap_mkdb if you already have a login.conf.db file.
> Most people do not use these and just use the plaintext file instead.
>

And it checks the non space friendly syntax :-)

whith openfile

squid:\
:openfiles-cur=4096:\
:openfiles=4096:\
:tc=daemon:

I do not have to do ulimit manually before but stop at 1025, I didn't
call setrlimit


root@unicornD # su -l -c squid -s /bin/sh root -c "perl /root/fds.pl"
perl /roo"perl /root/fds.pl" <

uid=515(_squid) gid=0(wheel) groups=0(wheel), 2(kmem), 3(sys), 4(tty),
5(operator), 20(staff), 31(guest)

ksh: ulimit: Permission denied

Error in tempfile() using template /tmp/XXXXXXXXXX: Could not create
temp file /tmp/4vncHRQHUt: No locks available at /root/fds.pl line 20.

Count:1025


setrlimit change nothing :


# cat /root/fds.pl

#!/usr/bin/perl

use warnings;

use strict;

use v5.10;

use POSIX;

use BSD::Resource;

use File::Temp qw/tempfile/;

if (defined $ARGV[0] and $ARGV[0] =~ /^\d+$/) {

setuid ($ARGV[0]);

} else {

setuid ( 515 );

}

system('id');

my $rc = setrlimit(RLIMIT_OPEN_MAX,4096,4096);

say 'ok' if ($rc);

my @fds = ();

while (0xBAD) {

my($fh, $filename) = tempfile();

last unless $fh;

push @fds, { fd=>$fh,n=>$filename};

}



END{

say 'Count:'.($#fds+1);

foreach my $fd (@fds) {

close $fd->{fd};

unlink $fd->{n};

}

}



>> It looks like it has no effect. Is this the way to go ? have I to change a
>> limit somewhere else ?
>>
>> Best regards,
>> Sven
>



-- 
---------------------------------------------------------------------------------------------------------------------
() ascii ribbon campaign - against html e-mail
/\

Reply via email to