From owner-freebsd-questions@FreeBSD.ORG Wed Mar 11 14:12:01 2015 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6B4456FD for ; Wed, 11 Mar 2015 14:12:01 +0000 (UTC) Received: from mx02.qsc.de (mx02.qsc.de [213.148.130.14]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24952173 for ; Wed, 11 Mar 2015 14:12:00 +0000 (UTC) Received: from r56.edvax.de (port-92-195-131-196.dynamic.qsc.de [92.195.131.196]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx02.qsc.de (Postfix) with ESMTPS id 35AAF2780B; Wed, 11 Mar 2015 15:11:58 +0100 (CET) Received: from r56.edvax.de (localhost [127.0.0.1]) by r56.edvax.de (8.14.5/8.14.5) with SMTP id t2BEBvdb005205; Wed, 11 Mar 2015 15:11:57 +0100 (CET) (envelope-from freebsd@edvax.de) Date: Wed, 11 Mar 2015 15:11:57 +0100 From: Polytropon To: opendaddy@hushmail.com Subject: Re: Limiting CPU on some processes on web server Message-Id: <20150311151157.5baea8b7.freebsd@edvax.de> In-Reply-To: <20150311140420.1646CC044F@smtp.hushmail.com> References: <20150311122656.96F2020341@smtp.hushmail.com> <20150311141347.1013d42d.freebsd@edvax.de> <20150311134232.838ABC0451@smtp.hushmail.com> <20150311144958.3ef9519d.freebsd@edvax.de> <20150311140420.1646CC044F@smtp.hushmail.com> Reply-To: Polytropon Organization: EDVAX X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; i386-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2015 14:12:01 -0000 On Wed, 11 Mar 2015 14:04:19 +0000, opendaddy@hushmail.com wrote: > On 11. mars 2015 at 1:41 PM, "Polytropon" wrote: > > > >The main differnce in functionality is that ulimit -t defines > >the limit as time, whereas cpulimit defines it as percentage > >of CPU resources used. > > > >Another difference is that ulimit comes with FreeBSD's default > >scripting shell, whereas cpulimit is a Linux program that has > >to be compiled from source, after porting it, of course. :-) > > > > Sounds really tempting especially considering those other cpulimit > compile errors. If you manually add "#include " to src/cpulimit.c and remove "#ifdef __APPLE__" ... "#endif" from tests/process_iterator_test.c around the "#include " line, you can run "gmake" (in src/ and /test, or at the top level), and it will successfully build. Result: $ ./cpulimit Error: You must specify a cpu limit percentage Usage: cpulimit [OPTIONS...] TARGET OPTIONS -l, --limit=N percentage of cpu allowed from 0 to 200 (required) -v, --verbose show control statistics -z, --lazy exit if there is no target process, or if it dies -i, --include-children limit also the children processes -h, --help display this help and exit TARGET must be exactly one of these: -p, --pid=N pid of the process (implies -z) -e, --exe=FILE name of the executable program file or path name COMMAND [ARGS] run this command and limit it (implies -z) You can try that "quick & dirty" modification and check if the cputime program _works_ for you. > Is there a CPU time limit equivalent to say 20% or have I totally misunderstood? I'd say it's hard to calculate or estimate absolute CPU time from relative resource consumption (load). You will probably have to test this with the real application you want to limit. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...