http://www.systemadmin.co.kr/mod/doc_view.htm?doc_no=27
# 글제목 : VM System 최적화
# 작성자 : ns2kr@yahoo.co.kr
# 등록일 : 2001. 05. 09
#
FreeBSD 커널은 동적으로 자기자신을 유동적으로 튜닝하기
때문에 사용자는
커널 옵션에서 maxusers 와 NMBCLUSTER 를 지정하는 것 외에는 크게
변경할
것은 없다.
# netstat -m 명령으로 현재 시스템의 설정확인
# limit 명령으로 시스템 제한 확인
- 커널설정화일 : /usr/src/sys/i386/conf/GENERIC
- 커널설정옵션일람
: /usr/src/sys/i386/conf/LINT
/usr/src/sys/i386/conf/GENERIC 파일에서 커널옵션을 적당하게
수정하고
커널 컴파일후 설치하면 된다.
maxuser 64
options NMBCLUSTERS=2048
-> maxuser에 영향을 받는 것들
/usr/src/sys/conf/param.c
/usr/src/sys/kern/uipc_mbuf.c
# nproc = ( 20 + 16 * maxusers )
# maxproc = nproc
# maxfiles = nproc * 2
# nmbcluster = 512 + maxusers * 16
# nmbuf = nmbcluster * 4
maxuser : maxuser의 값은 보통 10~128 사이의 값을 설정 한다.
^^^^^^^
너무 값을 너무높게 올리면 시스템의 KVM이 오버플로우 하거나,
예츨할 수
없는 동작에 빠질 수도 있기때문데 주의하기 바란다.
maxuser값은 적당한 값으로 하고 특정의 자원을 제어하는
NMBCLUSTERS 등의
옵션을 증가시키는 것이 좋다.
예를들어 시스템이 높은 부하의 네트워크 용도로 사용하고
싶다면 NMBCLUSTER의
값을 늘리면 된다. NMBCLUSTERS의 값은 보통 1024 ~ 4096의 값을
지정한다.
NBUF : NBUF 파라미터도 시스템의 규모를 정하는데 사용되고,
이것은 시스템이
^^^^
파일시스템 버퍼를 I/O를 위해서 매팅하는데 사용되는 KVA의
크기를 정하는데
사용된다.
3.0-CURRENT이후의
커널에서는 동적으로 조절되기 때문데 수동으로 지정할
필요가
없으며, 동적으로 할당된 값을 사용자가 변경하는 것은
추천하지 않는다.
NBUF값이 너무작으면 파일시스템 동작이 극도로 비 효율적으로
되며, 이 값이
너무 크면 많은 페이지가 wired down 상태가 되어 페이지큐가
고갈된다.
FreeBSD커널 설정파일 컴파일 옵션은 최적화된 상태가 아니기
때문에
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
커널설정화일에서
makeoptions에 직접 debugging, optimization 플래그를
직접 지정할 수 있다.
7M 이상의 커널이 아니라면 -g 옵션을 사용해서는 않된다.
makeoptions DEBUG="-g"
makeoptions COPTFLAGS="-02 -pipe"
Run Time VM 시스템 튜닝은 비교적 간단하다. 우선 가능하면 UFS/FFS
^^^^^^^^^^^
파일시스템에서
소프트업데이트를
사용한다. 소프트업데이트의
자세한
내용은 /usr/src/contirb/sys/softupdates/READE를
참조.
SWAP : 충분한 스왑을 확보한다.
^^^^
작업 디스크를 포함해서 각 물리적 디스크마다 최대 4개까지
스왑영역을
확보한다. 스왑영역은 적어도 메인메모리의 2배로 하고,
메인메모리를 많이
없다면 그 이상을 확보한다.
crash dump를 얻고자 한다면, 첫번째 스왑파티션의 크기는
메인메모리보다
커야 하고, /var/crash는 dump를 수용할 수 있을 정도의 충분한
공간이
있어야 한다.
|