Bug 229105 - batch during high load causes pathological overload
batch during high load causes pathological overload
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: at (Show other bugs)
6
All Linux
medium Severity medium
: ---
: ---
Assigned To: Marcela Mašláňová
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-02-16 23:31 EST by JW
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-10-24 04:51:29 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description JW 2007-02-16 23:31:18 EST
Description of problem:
If one attempts to run a job with batch when the system load is greater than 0.8
(configuration level) then atd, with option -b0, might continuously re-check
system load in a tight loop thereby increasing atd cpu usage to nearly 100% and
also thereby increasing the system load even higher.  The batch job will never
ever run.

Version-Release number of selected component (if applicable):
at-3.1.8-84

How reproducible:
Always

Steps to Reproduce:
1. ensure atd is running with "-b0" option
2. run some background task to keep system load at, say, 1.o or higher
3. echo date | batch
4. use top to check atd hogging all remaining cpu
5. check that system load goes even higher
6. wait forever for batch job to complete

Actual results:
batch job never completes

Expected results:
atd should pause a bit between checks under such circumstances.
atd should also run the batch job regardless of system load after some period
(say 1 hour), otherwise a batch job will never run on a constantly loaded host
(which often happens in the real world).

Additional info:
The -b0 option should only affect the separation between batch jobs that
actually run.  It is not supposed to be used as the interval at which atd checks
for runability.  So when a batch job is not runnable because of high system load
atd should pause a bit regardless of the -b option setting, otherwise infinite
pointless consumption of cpu will be attempted.
Comment 1 Marcela Mašláňová 2007-03-07 09:27:12 EST
Hello,
I can't still reproduce it. Could you write to me the precise task, which are
you running?
Comment 2 JW 2007-03-07 18:06:37 EST
Did you run the precise instructions that I outlines in steps 1 through 6?

Can you please write to me the precise task, which you are trying?
Comment 3 Marcela Mašláňová 2007-03-13 07:19:23 EDT
Yes, I did.

I have problem to find suitable job which make system load so high. I try some
makewhatis jobs, some personal scripts etc. and nothing strange seen.
Comment 4 JW 2007-03-13 07:32:06 EDT
What was the system load ("uptime" load average) when running the test?
The current load average should have been greater than 1.0.

To create a high load all you need to do is something like "while :; do i=1;
done &; while :; do i=1; done &" ... but these must run for several minutes to
take effect.

If you are having trouble doing something simple like getting the load average
up then maybe you should concentrate on becoming a CEO instead.
Comment 5 Marcela Mašláňová 2007-10-24 04:51:29 EDT
Can't reproduce in at-3.1.10. Won't write feature for at-3.1.8

Note You need to log in before you can comment on or make changes to this bug.