Path: csiph.com!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Andreas Eder Newsgroups: comp.os.linux.misc,alt.os.linux Subject: Re: setting load limit for atd batch system? Followup-To: poster Date: Fri, 24 May 2024 17:25:28 +0200 Organization: A noiseless patient Spider Lines: 32 Message-ID: <87msofz0yf.fsf@eder.anydns.info> References: MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Fri, 24 May 2024 17:27:03 +0200 (CEST) Injection-Info: dont-email.me; posting-host="ae5248262fd1e27e07a2f74b28fcbab7"; logging-data="2516340"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19w6dz4bjgIkh6I7vvbG/+c" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:ieJHIJDvW+9n5IIinMXJh7m0FQ0= sha1:oK9YS9Et71m6KrNiniWPpxv5JEI= Xref: csiph.com comp.os.linux.misc:56437 alt.os.linux:79984 On Fr 24 Mai 2024 at 12:24, Woozy Song wrote: > Woozy Song wrote: >> So the atd supposedly will not start another job until load factor falls >> below a limit. Different documentation gives the default as 0.8 or 1.5 >> Now I launch a job that uses 4 cores on a 6-core CPU. If I run top >> command, I see four processes running close to 100%. >> Now if I submit another job 10 seconds later, that starts thereby >> overloading the CPU. Documentation suggests setting load limit to more >> than n-1 for n CPU cores, but I think that is intended for single-thread >> jobs. I have tried altering the load limit in atd.service file to all >> sorts of values, but second job keeps starting while the first is flogging >> the CPU. I check with 'ps -ef|grep atd' to see it is using the desired >> load limit. I am aware that the load factor is an average, you can see it >> changes slowly in top/htop/glances. So I also increase the delay between >> jobs to 30 seconds, but still nothing works. So it looks like I have to >> specify a time like 'now+60 minutes' when I submit, requiring some guess >> how long first job runs. I know I can install a proper job scheduler such >> as Some Grid Engine, but that is more work. >> This is on Debian 11, by the way. > > I found the trick: you have to add '-q B' to command, then load-limit rule > applies (it behaves like batch command instead of at). Otherwise it uses > default queue 'a' that only uses time without load limit. I think ot is '-q b', the small letter b for the batch queue (a is for at). The other letters are not used by default and just serve to indicate niceness. 'Andreas -- ceterum censeo redmondinem esse delendam