You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2003/03/09 00:23:14 UTC

DO NOT REPLY [Bug 17808] New: - High CPU utilization in master process

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17808>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17808

High CPU utilization in master process

           Summary: High CPU utilization in master process
           Product: Apache httpd-2.0
           Version: 2.0.44
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Core
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: daniele@orlandi.com


I'm experiencing high CPU utilization in the master process with httpd 2.0.44
compiled from scratch with prefork mpm under RedHat Linux 8.0 (gcc 3.2) with the
lates errata kernel. All my httpds run in a chroot jail, some with mod_tls and
mod_php and some without.

Server version: Apache/2.0.44
Server built:   Feb 24 2003 17:40:02
Server's Module Magic Number: 20020903:0
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/opt/apache2"
 -D SUEXEC_BIN="/opt/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


I'm assuming that the CPU utilization of the master process should be lower than
the one for the childs so I'm reporting this. If my assumption is wrong... well
sorry :)

The utilization is proportional to the requests rate and much higher than the
utilization for the childs. The server is responsive and quick.

# ps xaf|grep httpd
 7880 ?        S      1:53 /bin/httpd -f /conf/httpd.conf
11343 ?        S      0:30  \_ /bin/httpd -f /conf/httpd.conf
24704 ?        S      0:02  \_ /bin/httpd -f /conf/httpd.conf
24887 ?        S      0:01  \_ /bin/httpd -f /conf/httpd.conf
24901 ?        S      0:01  \_ /bin/httpd -f /conf/httpd.conf
.....[20 more childs follow]

This is a strace of the master process for some second:

select(0, NULL, NULL, NULL, {0, 54684}) = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
write(70, "!", 1)                       = 1
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 83
fcntl64(83, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(83, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(83, {sin_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("212.110.160.123")}}, 16) = -1 EINPROGRESS (Operation now in
progress)
poll([{fd=83, events=POLLOUT, revents=POLLOUT}], 1, 3000) = 1
getsockopt(83, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
close(83)                               = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = ? ERESTARTNOHAND (To be restarted)
--- SIGCHLD (Child exited) ---
select(0, NULL, NULL, NULL, {0, 990171}) = 0 (Timeout)
write(70, "!", 1)                       = 1
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 83
fcntl64(83, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(83, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(83, {sin_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("212.110.160.123")}}, 16) = -1 EINPROGRESS (Operation now in
progress)
poll([{fd=83, events=POLLOUT, revents=POLLOUT}], 1, 3000) = 1
getsockopt(83, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
close(83)                               = 0
wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG|WUNTRACED, NULL) = 26029
gettimeofday({1047165258, 98807}, NULL) = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = ? ERESTARTNOHAND (To be restarted)
--- SIGCHLD (Child exited) ---
select(0, NULL, NULL, NULL, {0, 990171}) = 0 (Timeout)
write(70, "!", 1)                       = 1
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 83
fcntl64(83, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(83, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(83, {sin_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("212.110.160.123")}}, 16) = -1 EINPROGRESS (Operation now in
progress)
poll([{fd=83, events=POLLOUT, revents=POLLOUT}], 1, 3000) = 1
getsockopt(83, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
close(83)                               = 0
wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG|WUNTRACED, NULL) = 26075
gettimeofday({1047165259, 99400}, NULL) = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = ? ERESTARTNOHAND (To be restarted)
--- SIGCHLD (Child exited) ---
select(0, NULL, NULL, NULL, {0, 996030}) = 0 (Timeout)
wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG|WUNTRACED, NULL) = 26256
gettimeofday({1047165260, 98021}, NULL) = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
write(70, "!", 1)                       = 1
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 83
fcntl64(83, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(83, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(83, {sin_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("212.110.160.123")}}, 16) = -1 EINPROGRESS (Operation now in
progress)
poll([{fd=83, events=POLLOUT, revents=POLLOUT}], 1, 3000) = 1
getsockopt(83, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
close(83)                               = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = ? ERESTARTNOHAND (To be restarted)
--- SIGCHLD (Child exited) ---
select(0, NULL, NULL, NULL, {0, 994077}) = 0 (Timeout)
wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG|WUNTRACED, NULL) = 26199
gettimeofday({1047165265, 96741}, NULL) = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
write(70, "!", 1)                       = 1
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 83
fcntl64(83, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(83, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(83, {sin_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("212.110.160.123")}}, 16) = -1 EINPROGRESS (Operation now in
progress)
poll([{fd=83, events=POLLOUT, revents=POLLOUT}], 1, 3000) = 1
getsockopt(83, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
close(83)                               = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = ? ERESTARTNOHAND (To be restarted)
--- SIGCHLD (Child exited) ---
select(0, NULL, NULL, NULL, {0, 996030}) = 0 (Timeout)
wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG|WUNTRACED, NULL) = 26228
gettimeofday({1047165268, 97936}, NULL) = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
write(70, "!", 1)                       = 1
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 83
fcntl64(83, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(83, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(83, {sin_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("212.110.160.123")}}, 16) = -1 EINPROGRESS (Operation now in
progress)
poll([{fd=83, events=POLLOUT, revents=POLLOUT}], 1, 3000) = 1
getsockopt(83, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
close(83)                               = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = ? ERESTARTNOHAND (To be restarted)
--- SIGCHLD (Child exited) ---
select(0, NULL, NULL, NULL, {0, 990171}) = 0 (Timeout)
wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG|WUNTRACED, NULL) = 26097
gettimeofday({1047165270, 99926}, NULL) = 0
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
gettimeofday({1047165274, 98473}, NULL) = 0
fork()                                  = 26277
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
gettimeofday({1047165276, 99665}, NULL) = 0
fork()                                  = 26284
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
gettimeofday({1047165278, 101233}, NULL) = 0
fork()                                  = 26288
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
wait4(-1, 0xbfffde00, WNOHANG|WUNTRACED, NULL) = 0
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org