Return-Path: Delivered-To: apmail-httpd-bugs-archive@httpd.apache.org Received: (qmail 5354 invoked by uid 500); 8 Mar 2003 23:21:27 -0000 Mailing-List: contact bugs-help@httpd.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Reply-To: "Apache HTTPD Bugs Notification List" Delivered-To: mailing list bugs@httpd.apache.org Received: (qmail 5340 invoked from network); 8 Mar 2003 23:21:27 -0000 Date: 8 Mar 2003 23:23:14 -0000 Message-ID: <20030308232314.27858.qmail@nagoya.betaversion.org> From: bugzilla@apache.org To: bugs@httpd.apache.org Cc: Subject: DO NOT REPLY [Bug 17808] New: - High CPU utilization in master process X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT . 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