Your message dated Tue, 05 Jan 2010 00:47:21 +0900
with message-id <[email protected]>
and subject line Re: Bug#446520: atd uses too much CPU
has caused the Debian Bug report #446520,
regarding atd uses too much CPU
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
446520: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=446520
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: at
Version: 3.1.10
Severity: normal
Hello,
When I queue a job with 'batch', atd uses about 60% of the CPU:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2290 daemon 39 19 1956 468 396 R 59.4 0.1 49:26.18 atd
29963 frederik 35 19 20276 6068 1740 D 21.9 1.2 0:53.27 mencoder
Running 'strace -p 2290' shows that the same system calls are being
repeated over and over again, many times per second:
----------------------------------------------------------------
stat64(".", {st_mode=S_IFDIR|S_ISVTX|0770, st_size=4096, ...}) = 0
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
fstat64(4, {st_mode=S_IFDIR|S_ISVTX|0770, st_size=4096, ...}) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
getdents(4, /* 4 entries */, 4096) = 76
stat64("b0002e012f3736", {st_mode=S_IFREG|0700, st_size=5697, ...}) = 0
getdents(4, /* 0 entries */, 4096) = 0
close(4) = 0
open("/proc/loadavg", O_RDONLY) = 4
read(4, "3.52 3.19 3.09 3/252 29879\n", 64) = 27
close(4) = 0
time(NULL) = 1192296108
stat64(".", {st_mode=S_IFDIR|S_ISVTX|0770, st_size=4096, ...}) = 0
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
fstat64(4, {st_mode=S_IFDIR|S_ISVTX|0770, st_size=4096, ...}) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
getdents(4, /* 4 entries */, 4096) = 76
stat64("b0002e012f3736", {st_mode=S_IFREG|0700, st_size=5697, ...}) = 0
getdents(4, /* 0 entries */, 4096) = 0
close(4) = 0
open("/proc/loadavg", O_RDONLY) = 4
read(4, "3.52 3.19 3.09 2/252 29879\n", 64) = 27
close(4) = 0
time(NULL) = 1192296108
----------------------------------------------------------------
It seems that 'atd' is in a busy loop reading '/proc/loadavg',
apparently faster than the kernel can update it. This behaviour makes
'batch' quite inefficient. Am I doing something wrong?
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1,
'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.22-1-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages at depends on:
ii exim4-daemon-light [mail-tran 4.67-8 lightweight Exim MTA (v4) daemon
ii libc6 2.6.1-5 GNU C Library: Shared libraries
ii libpam0g 0.99.7.1-5 Pluggable Authentication Modules l
ii lsb-base 3.1-24 Linux Standard Base 3.1 init scrip
at recommends no packages.
-- no debconf information
--- End Message ---
--- Begin Message ---
Frederik Eaton <[email protected]> writes:
> Thanks for following up. I can't reproduce the problem either.
I will close the bug report in this case. Thanks for your reply.
Regards,
Ansgar
--- End Message ---