내일은 대한입니다.
sun's longitude:299 26 47.48 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
1968 번 글의 답장글: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요?
글쓴이: 산이 [홈페이지] 글쓴날: 2004년 03월 07일 00:03:41 일(새벽) 조회: 839
[하얀피]님이 남기신 글:

>요즘 www 1번 서버와 3번서버가 랜덤적으로 폭주하고
있습니다.
>가끔 스스로 폭주가 멈추는 경우는 있지만...
>폭주할때마다 cpu가 99% 이상으로 차며 아파치 프로세서가
맥스를 넘어버립니다.
>어떤 계정에서의 무한루프쪽을 의심하고 있는데요.
>그래서 그런데..
>실시간으로 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수
있을런지요?
>일단 셸을 이용해서 cpu와 memory를 체크할 수 있는 스크립트를
사용하는데
>이것을 계정 list와 대조시켜서 계속 감지한다는게
조금--;;;;
>다른 방법이 없을까요???
>
>아래는 제가 구한 스크립트 입니다.
>#!/bin/sh
>#
># uid 찾기
>#
>ARG=$1
>FINDED_UID=$(cat /etc/passwd | grep ^$ARG | cut -f3 -d:)
>a=`ps -eo uid,pcpu |tail +2| tr -s [:space:]`
>set `echo $a`
>SUM=0
>SUM1=0
>while [ $# -gt 0 ]
>do
>        FIRST=$1
>        SECONT=$2
>        if [ $FIRST -eq $FINDED_UID ]
>        then
>                SECONT_F=$(echo $SECONT|cut -f1 -d.)
>                SECONT_S=$(echo $SECONT|cut -f2 -d.)
>                SUM=`expr $SUM + $SECONT_F`
>                SUM1=`expr $SUM1 + $SECONT_S`
>        fi
>shift 2
>done
>SUM=`expr $SUM + $SUM1 / 10 `
>SUM1=`expr $SUM1 % 10`
>echo "현재 ${ARG}의 CPU 사용량은 $SUM.$SUM1% 입니다."


========================================

답변이 늦었습니다.

사용자 계정에 대한 체크는 이와 같이 하면 됩니다.
다만 그 결과치가 몇 % 이상일 경우 관리자 메일로 보낸다거나
어떤 메시지가 출력하도록 설정해 놓으면 되겠죠.

그런데

apche 는 보통 nobody 아니면 www 권한으로 돌아가기 때문에
이와 같은 원리로는 체크할 수 없습니다.

`가상호스트 == 계정'

이라는 공식이 성립되므로 아파치 쪽에서 설정 및
모니터링해야 합니다.

즉 어느 가상호스트에서
 트래픽이 많이 생기는지 또한 어느
가상호스트에서
 실행시간이 많이 걸리는지 체크해야 합니다.

전자는 log 파일과 MRTG (설치/설정)를 또는 throttle 를 기준으로
방향을 잡고
후자 역시 log 파일을 중점으로 모니터링해야 합니다.

[아파치 로그 포맷]

http://linuxchannel.net/docs/apache_log.txt

전자 :

년도월일시간분
 호스트네임 전송바이트
LogFormat "%{%Y%m%d%H%M}t %v %b" trafficrx
CustomLog /usr/local/apache/logs/trafficrx_log trafficrx

후자는

년도월일시간분
 호스트네임 실생한시간
LogFormat "%{%Y%m%d%H%M}t %v %T" runtime
CustomLog /usr/local/apache/logs/runtime_log runtime

물론 이 두개를 하나의 로그 파일로 관리할 수 도 있습니다.

 
이전글 : 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요?
다음글 : Re: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요?  
 from 61.254.74.228
JS(Redhands)Board 0.4 +@

어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요? Re: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요?
인쇄용 


apache lighttpd linuxchannel.net 
Copyright 1997-2026. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds