DB2 Connect의 커널 매개변수 수정(Linux)
Db2® 데이터베이스 시스템을 설치하기 전에 Linux® 커널 매개변수를 업데이트하십시오. Linux 에서 특정 커널 매개변수의 기본값은 Db2 데이터베이스 시스템을 실행할 때 충분하지 않습니다.
시작하기 전에
프로시저
Red Hat 및 SUSE Linux에서 커널 매개변수를 업데이트하려면 다음을 수행하십시오.
- ipcs -l 명령을 실행하십시오.
- 출력을 분석하여 시스템에 필수 변경사항이 필요한지 여부를 판별하십시오. 매개변수 이름을 표시하기 위해
//다음에 주석이 추가되었습니다.# ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 // SHMMNI max seg size (kbytes) = 32768 // SHMMAX max total shared memory (kbytes) = 8388608 // SHMALL min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 1024 // SEMMNI max semaphores per array = 250 // SEMMSL max semaphores system wide = 256000 // SEMMNS max ops per semop call = 32 // SEMOPM semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 1024 // MSGMNI max size of message (bytes) = 65536 // MSGMAX default max size of queue (bytes) = 65536 // MSGMNB- 공유 메모리 한계의 첫 번째 섹션에서 시작하여
SHMMAX 및 SHMALL은 잠금에 필요한 매개변수입니다. SHMMAX는 Linux 시스템에서 공유 메모리 세그먼트의 최대 크기인 반면, SHMALL은 시스템에서 공유 메모리 페이지의 최대 할당입니다.
- SHMMAX 값을 시스템의 실제 메모리양과 동일하게 설정하는 것이 좋습니다. 하지만 x86 시스템에 필요한 최소량은 268435456(256MB)이고 64비트 시스템의 경우에는 1073741824(1GB)입니다.
- SHMALL은 기본적으로 8GB(8388608 KB = 8GB)로 설정되어 있습니다. 실제 메모리가 이보다 많을 때 DB2 데이터베이스 시스템에 사용하려면 컴퓨터의 실제 메모리의 약 90%로 늘립니다. 예를 들어 컴퓨터 시스템이 16GB 메모리를 DB2 데이터베이스 시스템에 대해 기본적으로 16GB 메모리를 사용할 수 있는 경우 SHMALL을 3774873(16GB의 90%는 14.4GB이고 이를 4KB(기본 페이지 크기)로 나눈 값)으로 설정해야 합니다. ipcs 출력은 SHMALL을 KB로 변환합니다. 커널에서는 이 값을 페이지 수로 요구합니다. Db2 버전 11.1 로 업그레이드하고 기본 SHMALL 설정을 사용하지 않는 경우 SHMALL 설정을 4GB추가로 늘려야 합니다. 이 메모리 증가는 추가적인 버퍼 또는 채널에 대해 FCM(Fast Communication Manager)에서 필요로 합니다.
- 다음 섹션에서는 운영 체제에 사용 가능한 세마포어 양에 대해 다룹니다. 커널 매개변수 sem은 네 개의 토큰(SEMMSL, SEMMNS, SEMOPM 및 SEMMNI)으로 구성됩니다. SEMMNS는 SEMMSL에 SEMMNI를 곱한 결과입니다. 데이터베이스 관리 프로그램에서는 필요에 따라 배열의 수(SEMMNI)를 늘려야 합니다. 일반적으로 SEMMNI는 데이터 서버 컴퓨터의 논리적 파티션 수를 곱하고 데이터베이스 서버 컴퓨터의 로컬 애플리케이션 연결 수를 더한 시스템에서 예상되는 최대 에이전트 수의 두 배여야 합니다.
- 세 번째 섹션에서는 시스템에 대한 메시지에 대해 다룹니다.
- MSGMNI는 시작할 수 있는 에이전트 수, MSGMAX는 큐에서 전송될 수 있는 메시지의 크기, MSGMNB는 큐의 크기에 영향을 미칩니다.
- MSGMAX를 64KB(즉 65535바이트)로 변경하고 MSGMNB를 65535로 늘려야 합니다.
- 공유 메모리 한계의 첫 번째 섹션에서 시작하여
SHMMAX 및 SHMALL은 잠금에 필요한 매개변수입니다. SHMMAX는 Linux 시스템에서 공유 메모리 세그먼트의 최대 크기인 반면, SHMALL은 시스템에서 공유 메모리 페이지의 최대 할당입니다.
- 이러한 커널 매개변수를 수정하려면 /etc/sysctl.conf 파일을 편집하십시오. 이 파일이 존재하지 않으면 파일을 작성하십시오.다음 행은 파일에 삽입해야 할 매개변수에 대한 예입니다.
kernel.sem=250 1024000 32 1024 #Example shmmax for a 64-bit system kernel.shmmax=1073741824 #Example shmall for 90 percent of 16 GB memory kernel.shmall=3774873 kernel.msgmax=65535 kernel.msgmnb=65535 kernel.msgmni=2048 - -p 매개변수를 사용하여 sysctl 를 실행하여 기본 파일 /etc/sysctl.conf에서 sysctl 설정을 로드하십시오.
sysctl -p - 재부트할 때마다 변경사항을 적용하려면 다음을 수행하십시오.
- (SUSE Linux) boot.sysctl 활성화
- (Red Hat) rc.sysinit 재초기화 스크립트는 자동으로 /etc/sysctl.conf 파일을 읽습니다.