Korea FreeBSD Users Group News, Internal, Projects, Home
Software, Support, Documentation

Re: [KFUG] maxusers NMBCLUSTERS



[ ³¯Â¥¼ø »öÀÎ ] [ ´ñ±Û¼ø »öÀÎ ] [ ÃÖ»óÀ§ »öÀÎ] [ °Ë»ö]

[ÀÌÀü ±Û] [´ÙÀ½ ±Û] [ÀÌÀü ´ñ±Û] [´ÙÀ½ ´ñ±Û]


On Tue, Oct 18, 2005 at 07:10:15PM +0900, Pyun YongHyeon wrote:
> On Tue, Oct 18, 2005 at 06:48:02PM +0900, Byung-Hee HWANG wrote:
>  > On Tue, Oct 18, 2005 at 06:27:56PM +0900, Pyun YongHyeon wrote:
>  > > On Sun, Oct 16, 2005 at 10:52:03AM +0900, Byung-Hee HWANG wrote:
>  > >  > 안녕하십니까. 튜닝에 대해 문의 드립니다.
>  > >  > 사용하는 운영체제 커널 버전은 4.11-STABLE 입니다.
>  > >  > 메모리 384메가, 스왑 260메가 이구요,
>  > >  > CPU는 AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) 입니다.
>  > >  > 
>  > >  > 각설하고.. httpd 가 폭주하는 바람에..
>  > >  > 서비스가 거의 불가능할 지경에 이르렀구요,,
>  > >  > 지금은 임시조취를 취해 놓았지만.. 본격적으로 튜닝에 대해 고민을 하게
>  > >  > 되었습니다.
>  > >  > 
>  > >  > 사고당시..
>  > >  > dmesg 에 아래와 같은 메시지가 계속 쌓였습니다.
>  > >  > 
>  > >  > bh@ns:/usr/src/sys/i386/conf> dmesg | tail -5
>  > >  > swap_pager_getswapspace: failed
>  > >  > swap_pager_getswapspace: failed
>  > >  > swap_pager_getswapspace: failed
>  > >  > swap_pager_getswapspace: failed
>  > >  > pid 71704 (httpd), uid 65534, was killed: out of swap space
>  > >  > bh@ns:/usr/src/sys/i386/conf>
>  > >  > 
>  > >  > 그리고 netstat -m 의 상태는 다음과 같습니다.
>  > >  > 
>  > >  > bh@ns:/usr/src/sys/i386/conf> netstat -m
>  > >  > 14/4096/4096 mbufs in use (current/peak/max):
>  > >  >         14 mbufs allocated to data
>  > >  > 8/1024/1024 mbuf clusters in use (current/peak/max)
>  > >  > 3072 Kbytes allocated to network (100% of mb_map in use)
>  > >  > 11941 requests for memory denied
>  > >  > 42 requests for memory delayed
>  > >  > 18 calls to protocol drain routines
>  > >  > bh@ns:/usr/src/sys/i386/conf> 
>  > >  > 
>  > >  > 임시로.. httpd.conf 를 손봐서.. timeout 이랑 httpd 의 최대 프로세스 생성 갯수를 제한했습니다.
>  > >  > 그리고 maxusers 0, NMBCLUSTERS 65535 로 설정후 커널을 재컴파일 했구요..
>  > >  > 헌데 이 maxusers 와 NMBCLUSTERS 값은 저게 제대로 지정한건지 아직도 긴가민가 합니다.
>  > >  > 
>  > >  > 두 값을 적절히 튜닝하는 어떤 공식이 있는지요..
>  > > 
>  > > 대부분의 경우 자동으로 설정된 값을 사용하는게 가장 안전합니다.
>  > > 자동으로 설정되는 값이 문제가 되는 경우는 2GB이상의 메모리를 사용할 때
>  > > 4.x에서는 kernel memory부족이 나타나는 경우가 있는것으로 기억합니다.
>  > > 사용가능한 메모리가 384MB이므로 자동설정을 사용하는게 맞는것으로
>  > > 생각됩니다. 다만 메모리가 상대적으로 작기 때문에 swap공간을 충분히
>  > > 확보하는게 먼저 인것 같습니다.
>  > > NMBCLUSTER의 경우는 손대지 않는게 좋습니다. 4.x에서 mbuf메모리는
>  > > 다른 용도로 사용될 수 없는 값입니다. 즉 많이 사용하면 다른 곳에서는
>  > > 사용하지 못합니다.  mbuf cluster가 2KB라고 가정하면 NMBCLUSTER가 65536
>  > > 일경우 (2KB * 65536)정도의 메모리를 mbuf cluster로 사용하는데 이는 굉장히
>  > > 큰 값입니다.
>  > 
>  > 그럼 이건 127메가(2*65535/1024) 가량이 mbuf만을 위해 사용된다는 뜻인가요?
> 네.
>  > 그렇다면.. 줄여야겠네요..
>  > 
>  > LINT 에 기본값은 1024 였었습니다. 그 기본값보다 조금 더 큰 2048 정도론
>  > 올려봐도 괜찮겠죠?
>  > 
> 
> 아닙니다. 값을 지정하지 않으면 시스템에서 자동으로 이값을 설정합니다.
> 버젼차이로 직접적인 비교는 되지 않겠지만 128MB를 가진 제가 사용하는
> 노트북에선 다음과 같이 나옵니다.(maxuser, NMBCLUSTER는 지정하지 않았습니다.)
> 
> 68/202/270 mbufs in use (current/cache/total)
> 65/69/134/4800 mbuf clusters in use (current/cache/total/max)
> 0/2/1456 sfbufs in use (current/peak/max)
> 147K/188K/335K bytes allocated to network (current/cache/total)
> 0 requests for sfbufs denied
> 0 requests for sfbufs delayed
> 0 requests for I/O initiated by sendfile
> 0 calls to protocol drain routines
> 
> 128MB에서도 4800개가 자동으로 설정되었습니다.

아.. 그렇군요..
4.11-STABLE 256메가의 램을 가진 기계에서도 테스트 해보니..
LINT 의 갯수(1024개) 보다 많이 할당되더군요. (총 2528개가 자동 할당).

> 
>  > > 
>  > > maxusers를 0으로 설정한 후 시스템의 상태를 먼저 확인하는게 좋겠습니다.
>  > 
>  > 네, 추이를 지켜본 후 다시 알려드릴께요.
>  > 

이제 어느정도 해법이 보입니다.
고맙습니다. 
꾸벅~

-- 
Byung-Hee
_______________________________________________
한국 FreeBSD 사용자 그룹(KFUG) questions 메일링 리스트
questions at kr.FreeBSD.org
http://www.kr.FreeBSD.org/mailman/listinfo/questions


[ ³¯Â¥¼ø »öÀÎ ] [ ´ñ±Û¼ø »öÀÎ ] [ ÃÖ»óÀ§ »öÀÎ] [ °Ë»ö]

Copyright © 1998-2005 Korea FreeBSD Users Group.
All rights reserved. webmaster at kr.FreeBSD.org
$Date: 2005/10/18 21:32:13 $
Powered by FreeBSD