이 문서는 지원되지 않는 버전의 스포츠 토토 베트맨을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 18.4. 토토 베이 리토토 베이 관리버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

17.4. 커널 리소스 관리

스포츠 토토 베트맨설치는 다양한 운영 체제를 빠르게 소진 할 수 있습니다 자원 제한. (일부 시스템에서는 공장 기본값이 있습니다 당신은 정말로 필요하지 않다는 것입니다"큰"설치.) 발생한 경우 이런 종류의 문제, 계속 읽으십시오.

17.4.1. 공유 기억과 세마포어

공유 메모리 및 세마포어는 총체적으로라고합니다."System V IPC"(함께 관련이없는 메시지 대기열스포츠 토토 베트맨). 거의 모든 현대 운영 시스템은 이러한 기능을 제공하지만 많은 기능은 없습니다. 기본적으로, 특히 사용 가능한 RAM과 데이터베이스 응용 프로그램의 요구가 커집니다. (에Windows, 스포츠 토토 베트맨자체 교체품을 제공합니다 이 시설의 구현 이므로이 섹션의 대부분은 무시하십시오.)

이러한 시설의 완전한 부족은 일반적으로 나타납니다 에 의해불법 시스템 호출오류 서버 시작시. 이 경우 대안은 없습니다 스포츠 토토 베트맨을 재구성하십시오.스포츠 토토 베트맨그들 없이는 작동하지 않습니다. 이것 그러나 현대 운영 체제에서는 상황이 드물다.

when스포츠 토토 베트맨하나를 초과합니다 다양한 하드IPC제한, 서버는 시작을 거부하고 문제와 무엇을 해야하는지 설명하는 유능한 오류 메시지 그것에 대해. (참조섹션 17.3.1.) 관련 스포츠 토토 베트맨 매개 변수는 지속적으로 이름을 지정합니다 다른 시스템;표 17-1주는 개요. 그러나 설정하는 방법은 다양합니다. 일부 플랫폼에 대한 제안은 다음과 같습니다.

표 17-1.시스템 다섯 IPC매개 변수

이름 설명 합리적인 값
Shmmax 공유 메모리 세그먼트의 최대 크기 (바이트) 최소 몇 메가 바이트 (텍스트 참조)
Shmmin 공유 메모리 세그먼트의 최소 크기 (바이트) 1
Shmall 이용 가능한 공유 메모리의 총 금액 (바이트 또는 페이지) 바이트 인 경우Shmmax; if pages,CEIL (shmmax/page_size)
SHMSEG 최대 공유 메모리 세그먼트 당 프로세스 1 세그먼트 만 필요하지만 기본값은 많이 있습니다. 더 높은
shmmni 공유 메모리 세그먼트의 최대 수 시스템 전체 좋아요SHMSEG플러스 공간 기타 응용 프로그램
SEMMNI 최대 세마포어 식별자 수 (즉, 세트) 적어도CEIL ((max_connections + autovacuum_max_workers + 4) / 16)
SEMMNS 시스템 전체의 세마포르 수의 최대 수 CEIL ((max_connections + autovacuum_max_workers + 4) / 16) * 17객실 다른 응용 프로그램
SEMMSL 세트 당 최대 세부 수 최소 17
SEMMAP 세마포어 맵의 항목 수 텍스트 참조
SEMVMX 세마포어의 최대 값 1000 이상 (기본값은 종종 32767입니다. 필요하지 않는 한 변경)

가장 중요한 공유 메모리 매개 변수는입니다.Shmmax, 공유의 최대 크기 메모리 세그먼트. 에서 오류 메시지를 받으면ShmgetLike"잘못된 논쟁",이 한도는 가능할 것입니다 초과. 필요한 공유 메모리 세그먼트의 크기는 다양합니다 여러에 따라스포츠 토토 베트맨구성 매개 변수 표시테이블 17-2. (당신이 얻을 수있는 오류 메시지는 다음을 포함합니다 실패 할당 요청의 정확한 크기.) 임시 솔루션, 해당 설정 중 일부를 피하기 위해 실패. 얻을 수 있지만스포츠 토토 베트맨Shmmax2MB만큼 작 으면 상당히 필요합니다 허용되는 성능에 대한 더 많은 것. 바람직한 설정이 있습니다 수백 메가 바이트에 몇 개의 기가 바이트.

일부 시스템은 또한 공유 총액에 제한이 있습니다. 시스템의 메모리 (Shmall). 만들다 확실히 이것은 충분히 큽니다스포츠 토토 베트맨다른 응용 프로그램과 함께 공유 메모리 세그먼트를 사용하고 있습니다. 참고Shmall는 바이트가 아닌 페이지에서 측정됩니다 많은 시스템.

문제를 일으킬 가능성이 적은 것은 공유의 최소 크기입니다. 메모리 세그먼트 (Shmmin) 최대 약 500kb를 위해스포츠 토토 베트맨(보통 1). 그만큼 최대 세그먼트 수 시스템 전체 (shmmni) 또는 프로세스 당 (SHMSEG)는 문제를 일으키지 않을 것입니다 귀하의 시스템은 제로로 설정되어 있습니다.

스포츠 토토 베트맨하나를 사용합니다 허용 된 연결 당 세마포 (max_connections) Autovacuum 작업자 프로세스 허용 (autovacuum_max_workers), 16 세트에서. 그러한 각 세트에는 17 번째 세마포도가 포함됩니다. 포함"매직 번호", to 다른 사람이 사용하는 세마포어 세트와 충돌을 감지하십시오 응용 프로그램. 시스템의 최대 세마포르 수는 다음과 같습니다 설정SEMMNS적어도만큼 높습니다.max_connectionsPlusautovacuum_max_workers16 개의 허용 연결과 작업자마다 추가 공식표 17-1). 그만큼 매개 변수SEMMNI한도를 결정합니다 시스템에 존재할 수있는 세마포어 세트 수에 일회. 따라서이 매개 변수는 적어도CEIL ((Max_Connections + Autovacuum_Max_Workers + 4) / 16). 허용 연결 수를 낮추는 것은 a입니다 실패에 대한 임시 해결 방법 혼란스럽게 말한"공간이 남아 있지 않습니다 장치", 함수에서Semget.

경우에 따라 증가해야 할 수도 있습니다SEMMAP최소한 순서에 있어야SEMMNS. 이 매개 변수는 세마포어 리소스 맵의 크기는 각각 사용 가능한 세마포어 블록에는 항목이 필요합니다. 세마포어 일 때 세트는 무료입니다. 기존 항목에 추가됩니다. 자유 블록에 인접하거나 새지도에 등록되어 있습니다. 기입. 지도가 가득 찼다면 해방 된 세마포어가 길을 잃습니다 ( 재부팅). 세마포 공간의 조각화는 시간이 지남에 따라 될 수 있습니다 필요한 것보다 더 적은 수의 세마포르로 이어집니다.

SEMMSL매개 변수 세트에 몇 개의 세마포르가있을 수 있는지 결정하고 최소 17 for스포츠 토토 베트맨.

관련된 다양한 기타 설정"Semaphore Undo":SEMMNUSemume, do 영향을 미치지 않음스포츠 토토 베트맨.

AIX

적어도 버전 5.1에서 필요하지 않아야합니다. 그러한 매개 변수에 대한 특수 구성을 수행하려면Shmmax, 이것이 나타납니다 모든 메모리가 공유대로 사용할 수 있도록 구성 메모리. 그것은 일반적으로 사용되는 일종의 구성입니다 와 같은 다른 데이터베이스의 경우DB/2.

그러나 글로벌 수정이 필요할 수 있습니다ulimit정보/etc/security/limits, 기본값은 하드입니다 파일 크기 제한 (fsize) 및 파일 번호 (nofiles) 너무 낮을 수 있습니다.

BSD/OS

공유 메모리.기본적으로 4MB 만 공유 메모리가 지원됩니다. 공유 한 것을 명심하십시오 메모리는 pagable이 아닙니다. RAM에 잠겨 있습니다. 에게 귀하가 지원하는 공유 메모리의 양을 늘리십시오 시스템, 커널에 다음과 같은 것을 추가하십시오 구성 파일 :

옵션 "shmall = 8192"
옵션 "shmmax = \ (shmall*page_size \)"

Shmall4 KB로 측정됩니다 페이지, 그래서 1024의 값은 4MB의 공유를 나타냅니다. 메모리. 따라서 위는 최대 값을 증가시킵니다 공유 메모리 영역으로 32MB. 4.3을 실행하는 사람들을 위해 나중에, 당신은 아마도 증가해야 할 것입니다kernel_virtual_mb위 기본248. 모든 것이 변경되면 만들어지고 스포츠 토토 베트맨을 다시 컴파일하고 재부팅했습니다.

semaphores.아마 원할 것입니다 세마포르의 수를 늘리십시오. 기본값 시스템 총 60 개는 약 50을 허용합니다.스포츠 토토 베트맨연결. 스포츠 토토 베트맨에서 원하는 값을 설정하십시오 구성 파일 (예 :

옵션 "SEMMNI = 40"
옵션 "SEMMNS = 240"
freebsd

기본 설정은 소형에만 적합합니다 설치 (예 : 기본값Shmmax32MB). 변경할 수 있습니다 그만큼sysctl또는로더인터페이스. 다음 매개 변수는를 사용하여 설정할 수 있습니다.sysctl:

# sysctl kern.ipc.shmall = 32768
# sysctl kern.ipc.shmmax = 134217728

이러한 설정을 재부팅보다 계속 유지하려면 수정/etc/sysctl.conf.

이 세마포어 관련 설정은 읽기 전용입니다 처럼sysctl걱정이지만 가능합니다 에서 설정/boot/loader.conf:

kern.ipc.semmni = 256
kern.ipc.semmns = 512
kern.ipc.semmnu = 256

이 값을 수정 한 후 재부팅이 필요합니다 새로운 설정이 적용됩니다. (참고 : freebsd는 그렇지 않습니다 사용SEMMAP. 오래된 버전 수락하지만에 대한 설정을 무시하십시오.kern.ipc.semmap; 최신 버전이 거부합니다 전부.)

잠금 스포츠 토토 베트맨을 구성 할 수도 있습니다. RAM에 메모리를 공유하고 페이징되는 것을 방지합니다. 교체하기 위해. 이것은를 사용하여 달성 할 수 있습니다.sysctl설정kern.ipc.shm_use_phys.

활성화하여 freebsd 교도소에서 달리는 경우sysctl'ssecurity.jail.sysvipc_allowed, PostmasterS가 실행 중입니다 다른 교도소는 다른 운영에 의해 운영되어야합니다 시스템 사용자. 보안이 방지하기 때문에 보안이 향상됩니다 뿌리가 아닌 사용자가 공유 메모리를 방해하지 않도록합니다 다른 감옥의 세마포어는 그것을 허용합니다 스포츠 토토 베트맨 IPC 정리 코드가 올바르게 작동합니다. (안에 Freebsd 6.0 이상 IPC 정리 코드는 다른 교도소의 과정을 올바르게 감지하여 방지합니다 같은 포트에서 다른 포스트 마스터를 달리기 감옥.)

freebsd버전 4.0이 작동하기 전에OpenBSD(아래 참조).

netbsd

innetbsd5.0 및 나중에 IPC 매개 변수는를 사용하여 조정할 수 있습니다.sysctl, 예 :

$ sysctl -W kern.ipc.shmmax = 16777216

이러한 설정이 재부팅을 통해 지속되도록하려면 수정/etc/sysctl.conf.

kernel을 고정하도록 구성 할 수도 있습니다. RAM에 메모리를 공유하고 페이징되는 것을 방지합니다. 교체하기 위해. 이것은를 사용하여 달성 할 수 있습니다.sysctl설정kern.ipc.shm_use_phys.

netbsd이전 버전 5.0 작업OpenBSD(아래 참조). 매개 변수를 설정 해야하는 경우를 제외하고 키워드옵션아님옵션.

OpenBSD

옵션SYSVSHMSYSVSEM언제 커널이 컴파일됩니다. (그들은 기본적으로입니다.) 공유 메모리의 최대 크기는 옵션에 의해 결정됩니다Shmmaxpgs(페이지). 그만큼 다음은 다양한 것을 설정하는 방법의 예를 보여줍니다. 매개 변수 :

옵션 sysvshm
옵션 shmmaxpgs = 4096
옵션 shmseg = 256

옵션 sysvsem
옵션 semmni = 256
옵션 SEMMNS = 512
옵션 semmnu = 256
옵션 semmap = 256

kernel을 고정하도록 구성 할 수도 있습니다. RAM에 메모리를 공유하고 페이징되는 것을 방지합니다. 교체하기 위해. 이것은를 사용하여 달성 할 수 있습니다.sysctl설정kern.ipc.shm_use_phys.

hp-ux

기본 설정은 정상으로 충분한 경향이 있습니다 설치. 에HP-UX10, 공장 기본값SEMMNS는 128이며 너무 낮을 수 있습니다 더 큰 데이터베이스 사이트.

IPC매개 변수는 할 수 있습니다 에서 설정해야합니다.시스템 관리 관리자(SAM) 아래스포츠 토토 베트맨 구성-구성 가능한 매개 변수. 선택하다새 스포츠 토토 베트맨 만들기언제 당신은 끝났습니다.

Linux

기본 최대 세그먼트 크기는 32MB입니다. 아주 작은 경우에만 적합스포츠 토토 베트맨설치. 그만큼 기본 최대 총 크기는 2097152 페이지입니다. 페이지는입니다 비정상적인 커널을 제외하고는 거의 항상 4096 바이트입니다 구성 구성"거대한 페이지 "(사용GetConf page_size확인하려면). 그것은 기본 제한을 만듭니다 8GB는 종종 충분하지만 항상 그런 것은 아닙니다.

공유 메모리 크기 설정은를 통해 변경할 수 있습니다.SYSCTL인터페이스. 예를 들어, 16GB를 허용하려면 :

$ sysctl -w kernel.shmmax = 17179869184
$ sysctl -w kernel.shmall = 4194304

또한 이러한 설정은 그 사이에 보존 될 수 있습니다 파일에서 재부팅/etc/sysctl.conf. 그렇게하는 것은 매우 중요합니다 추천.

고대 분포가 없을 수도 있습니다sysctl프로그램이지만 동등한 변경이 가능합니다 조작하여 만들어 져야/Proc파일 시스템 :

$ echo 17179869184/proc/sys/kernel/shmmax
$ echo 4194304/proc/sys/kernel/shmall

나머지 기본값의 크기는 매우 관대합니다 일반적으로 변경이 필요하지 않습니다.

MacOS X

공유 메모리 구성을위한 권장 메소드 OS X에서는라는 파일을 작성하는 것입니다./etc/sysctl.conf, 변수를 포함합니다 다음과 같은 과제

kern.sysv.shmmax = 4194304
kern.sysv.shmmin = 1
kern.sysv.shmmni = 32
kern.sysv.shmseg = 8
kern.sysv.shmall = 1024

일부 OS X 버전에서모두 5공유 메모리 매개 변수는에서 설정해야합니다./etc/sysctl.conf, 그렇지 않으면 값이 될 것입니다 무시.

최근 OS X 릴리스가 시도한 시도를 무시한다고 조심하십시오. 세트Shmmax그렇지 않은 값으로 4096의 정확한 배수.

Shmall4 KB로 측정됩니다 이 플랫폼의 페이지.

이전 OS X 버전에서는 다시 부팅해야합니다. 공유 메모리 매개 변수의 변경 사항이 적용됩니다. 10.5 현재 모든 것을 바꿀 수 있습니다shmmni즉시sysctl. 그러나 여전히 설정하는 것이 가장 좋습니다 를 통해 선호하는 값을 높이십시오./etc/sysctl.conf32272_32333

파일/etc/sysctl.confIS OS X 10.3.9 이상에서만 영광입니다. 달리고있는 경우 이전 10.3.x 릴리스에서 파일을 편집해야합니다/etc/rc값을 변경하십시오 다음 명령에서 :

sysctl -w kern.sysv.shmmax
sysctl -w kern.sysv.shmin
sysctl -w kern.sysv.shmmni
sysctl -w kern.sysv.shmseg
sysctl -w kern.sysv.shmall

참고/etc/rc보통입니다 OS X 시스템 업데이트에 의해 덮어 써서 예상해야합니다. 각 업데이트 후 이러한 편집을 다시해야합니다.

OS X 10.2 이상 에서이 명령을 편집하십시오. 파일에서/System/Library/StartUpitems/SystemTuning/SystemTuning.

SCO OpenServer

기본 구성에서는 512kb의 공유 만 공유했습니다 메모리 자격이 허용됩니다. 설정을 높이려면 디렉토리로의 첫 번째 변경/etc/conf/cf.d. 전류를 표시합니다 의 가치Shmmax, run :

./configure -y shmmax

새 값을 설정하려면Shmmax, run :

./configure shmmax =value

여기서33914_33921새로운 것입니다 사용하려는 값 (바이트). 설정 후Shmmax, 스포츠 토토 베트맨을 재건 :

./link_unix

및 재부팅.

Solaris

적어도 버전 2.6에서 기본 최대 크기의 a. 공유 메모리 세그먼트는 너무 낮습니다스포츠 토토 베트맨. 관련 설정 변경할 수 있습니다/etc/system, 예를 들어:

SET SHMSYS : SHMINFO_SHMMAX = 0X2000000
SHMSS를 설정하십시오 : SHMINFO_SHMMIN = 1
SHMSS를 설정하십시오 : SHMINFO_SHMMNI = 256
SHMSS를 설정하십시오 : SHMINFO_SHMSEG = 256

SEMSYS 세트 : SEMINFO_SEMMAP = 256
SEMSYS 세트 : SEMINFO_SEMMNI = 512
SEMSYS 세트 : SEMINFO_SEMMNS = 512
SEMSYS 세트 : SEMINFO_SEMMSL = 32

적용 할 변경 사항을 재부팅해야합니다.

참조http : //sunsite.uakom.sk/sunworldonline/swol-09-1997/swol-09-insidesolaris.html공유 메모리에 대한 정보Solaris.

unixware

onunixware7, the 공유 메모리 세그먼트의 최대 크기는 512kb입니다. 기본 구성. 현재 값을 표시합니다 의Shmmax, run :

/etc/conf/bin/idtune -g shmmax

현재, 기본값, 최소 및 최대 값. 새로운 값을 설정하려면Shmmax, run :

/etc/conf/bin/idtune shmmaxvalue

어디value새로운 것입니다 사용하려는 값 (바이트). 설정 후Shmmax, 스포츠 토토 베트맨을 재건 :

/etc/conf/bin/idbuild -B

및 재부팅.

표 17-2.스포츠 토토 베트맨공유 메모리 사용

usage 대략적인 공유 메모리 바이트가 필요합니다 ( 8.3)
Connections (1800 + 270 *max_locks_per_transaction) *max_connections
Autovacuum 근로자 (1800 + 270 *max_locks_per_transaction) *autovacuum_max_workers
준비된 거래 (770 + 270 *max_locks_per_transaction) *max_prepared_transactions
공유 디스크 버퍼 (block_size+ 208) *shared_buffers
WAL 버퍼 (Wal_block_size+ 8) *Wal_buffers
고정 공간 요구 사항 770 KB

17.4.2. 자원 제한

UNIX와 같은 운영 체제는 다양한 종류의 종류를 시행합니다 귀하의 운영을 방해 할 수있는 자원 제한스포츠 토토 베트맨서버. 의 특히 중요성은 당 프로세스 수의 한계입니다. 사용자, 프로세스 당 열린 파일 수 및 각 프로세스에 사용 가능한 메모리. 이들 각각은를 가지고 있습니다."하드"및 A"소프트"제한. 소프트 한계는 실제로입니다 계산하지만 사용자는 하드 제한까지 변경할 수 있습니다. 단단한 제한은 루트 사용자 만 변경할 수 있습니다. 시스템 부르다setRlimit이 매개 변수를 설정합니다. 쉘의 내장 명령ulimit(Bourne Shells) 또는Limit(CSH) IS 명령 줄에서 자원 제한을 제어하는 ​​데 사용됩니다. ~에 BSD 유래 시스템 파일/etc/login.conf다양한 리소스를 제어합니다 로그인 중에 설정된 제한. 운영 체제 문서를 참조하십시오 자세한 내용. 관련 매개 변수는입니다.MaxProc, OpenFilesDataSize. 예를 들어:

기본값 : \
...
        : datasize-cur = 256m : \
        : maxproc-cur = 256 : \
        : OpenFiles-Cur = 256 : \
...

(-cur는 소프트 한계입니다. 부록-max하드 제한을 설정하려면)

스포츠 토토 베트맨은 일부에 대한 시스템 전체 제한을 가질 수 있습니다 자원.

  • onLinux /proc/sys/fs/file-max커널이 지원할 최대의 열린 파일 수. 다른 숫자를 작성하여 변경할 수 있습니다. 파일 또는 할당을 추가하여/etc/sysctl.conf. 최대 한계 프로세스 당 파일은 커널이있는 시점에 고정됩니다. 편집; 보다/usr/src/linux/documentation/proc.txt더 많은 정보.

the스포츠 토토 베트맨서버 사용 연결 당 하나의 프로세스가 있으므로 최소한 허용 연결만큼 많은 프로세스뿐만 아니라 나머지 시스템이 필요합니다. 이것은 보통 a가 아닙니다 문제이지만 하나의 컴퓨터에서 여러 서버를 실행하면 빡빡 할 수 있습니다.

열기 파일의 공장 기본 제한이 종종 설정됩니다"사회적으로 친절한"그 값 많은 사용자가 사용하지 않고 기계에 공존 할 수 있습니다. 시스템 리소스의 부적절한 비율. 당신이 많은 것을 달리면 기계의 서버 이것은 아마도 당신이 원하는 것일 것입니다. 전용 서버이 한도를 높이고 싶을 수도 있습니다.

동전의 반대편에서 일부 시스템은 개인을 허용합니다. 많은 수의 파일을 열기위한 프로세스; 몇 명 이상 프로세스는 그렇게하면 시스템 전체의 한계가 쉽게 초과. 이런 일이 일어나고 싶고 원하지 않는다면 시스템 전체 제한을 변경하면 설정할 수 있습니다스포츠 토토 베트맨'smax_files_per_process개방 소비를 제한하기위한 구성 매개 변수 파일.

17.4.3. 리눅스 메모리 오버 커뮤지트

Linux 2.4 이상에서 기본 가상 메모리 동작 최적이 아닙니다스포츠 토토 베트맨. 스포츠 토토 베트맨이 메모리를 구현하는 방식 때문에 오버 커미트, 스포츠 토토 베트맨은를 종료 할 수 있습니다.스포츠 토토 베트맨Postmaster (마스터 서버 프로세스) 메모리가 어느 쪽이든 요구하는 경우스포츠 토토 베트맨또는 다른 프로세스는 가상 메모리가 부족한 시스템.

이런 일이 발생하면 보이는 커널 메시지가 표시됩니다. 이와 같이 (시스템 문서 및 구성을 참조하십시오 그러한 메시지를 찾을 곳에서) :

기억 부족 : 죽인 프로세스 12345 (Postgres).

이것은임을 나타냅니다.Postgres메모리 압력으로 인해 프로세스가 종료되었습니다. 하지만 기존 데이터베이스 연결은 계속 작동합니다 일반적으로 새로운 연결이 수락되지 않습니다. 회복하려면스포츠 토토 베트맨다시 시작.

이 문제를 피하는 한 가지 방법은 실행하는 것입니다스포츠 토토 베트맨당신이 할 수있는 기계에서 다른 프로세스가 기계를 실행하지 않을 것입니다. 메모리. 메모리가 빡빡하면 스왑 공간을 증가시킵니다. 운영 체제는 문제를 피하는 데 도움이 될 수 있습니다 메모리 외 (OOM) 킬러는 물리적 기억 일 때만 호출됩니다 그리고 스왑 공간은 소진됩니다.

if스포츠 토토 베트맨그 자체는입니다 메모리가 부족한 시스템의 원인은 구성을 변경하여 문제가 발생합니다. 어떤 경우에는 그렇습니다 메모리 관련 구성 매개 변수를 낮추는 데 도움이됩니다. 특히shared_bufferswork_mem. 다른 경우에는 문제가있을 수 있습니다 데이터베이스 서버에 너무 많은 연결을 허용하여 발생합니다. 그 자체. 많은 경우에, 줄이는 것이 더 낫다max_connections대신 사용하십시오 외부 연결-풀링 소프트웨어

Linux 2.6 이상에서 수정할 수 있습니다. 커널의 행동이 그렇지 않도록"Overcommit"메모리. 이 설정은 그렇지만 예방하지 않음OOM 킬러완전히 호출되는 것을 통해 기회를 크게 낮추므로 더 강력한 시스템 동작. 이것은 엄격한 선택으로 이루어집니다 를 통해 과잉 커미트 모드sysctl:

sysctl -w vm.overcommit_memory = 2

또는 동등한 항목에/etc/sysctl.conf. 수정하고 싶을 수도 있습니다 관련 설정vm.overcommit_ratio. 자세한 내용은 커널을 참조하십시오 문서 파일Documentation/VM/Overcommit-Accounting.

변경 유무에 관계없이 사용할 수있는 또 다른 접근법vm.overcommit_memory, 프로세스 별OOM_ADJ포스트 마스터 프로세스-17OOM 킬러가 목표로 삼지 않을 것이라고 보장합니다. 그만큼 이것을하는 가장 간단한 방법은 실행하는 것입니다

echo -17/proc/self/oom_adj

우체국 마스터의 시작 스크립트에서 우체국 장. 이 조치는 루트로 수행해야합니다. 효과가 없을 것입니다. 루트 소유의 시작 스크립트는입니다 가장 쉬운 곳. 이렇게하면 원할 수도 있습니다 짓다스포츠 토토 베트맨with-dlinux_oom_adj = 0추가CPPFLAGS. 이로 인해 우체부 장부 어린이가 발생합니다 정상과 함께 실행되는 프로세스OOM_ADJ0의 값, OOM 킬러 여전히 필요에 따라 그들을 대상으로 할 수 있습니다.

참고 :일부 공급 업체의 Linux 2.4 커널이 있습니다 초기 버전의 2.6 오버 커미트가있는 것으로보고sysctl매개 변수. 그러나 설정vm.overcommit_memory2.4에서 2 ~ 2 관련 코드가없는 커널은 상황이 좋지 않습니다. 당신을 권장합니다 실제 커널 소스 코드 검사 (함수 참조vm_enough_memory파일에서mm/mmap.c)) 2.4로 시도하기 전에 커널에 지원됩니다. 설치. 의 존재오버 커미트 계정문서화 파일 해야 한다notbe 이 기능이 있다는 증거로 간주됩니다. 어떤 경우에 의심, 커널 전문가 또는 커널 공급 업체를 참조하십시오.