이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 18.4. 토토 커뮤니티 베이 리토토 커뮤니티 베이 관리버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

16.5. 토토 커뮤니티 리소스 관리

PostgreSQL설치는 다양한 운영 체제를 빠르게 소진 할 수 있습니다"큰"설치.) 발생한 경우

16.5.1. 공유

공유 메모리 및 세마포어는 총체적으로라고합니다."System V IPC"(함께PostgreSQL). 거의 모든 현대 운영QNXandbeos포트,PostgreSQL자체 교체품을 제공합니다

이러한 시설의 완전한 부족은 일반적으로 나타납니다불법 시스템 호출오류PostgreSQL그들 없이는 작동하지 않습니다.

언제PostgreSQL하나를 초과합니다IPC제한, 서버는 시작을 거부하고섹션.) 관련 토토 커뮤니티 매개 변수의 이름이 지정되었습니다표 16-2주는

표 16-2.시스템 IPC매개 변수

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

가장 중요한Shmmax, TheShmget좋아요잘못된 인수-B옵션) 및 숫자-n옵션),표 16-2. 어느

일부 시스템은 공유 총액에도 제한이 있습니다.Shmall). 만들다PostgreSQL다른 응용 프로그램Shmall는 바이트가 아닌 페이지에서 측정됩니다

문제를 일으킬 가능성이 적은 것은 공유의 최소 크기입니다.Shmmin)PostgreSQL(보통 1). 그만큼​​shmmni) 또는 프로세스 당 (SHMSEG)는 그렇지 않으면 문제를 일으키지 않을 것입니다

PostgreSQL하나를 사용합니다-n옵션), 16 세트."마법, 사용 된 세마포어 세트와의 충돌을 감지합니다SEMMNSmax_connections16마다 1 개 이상 추가표 16-2). 그만큼SEMMNI한도를 결정합니다CEIL (Max_Connections / 16). 숫자를 낮추는 것아니오, 함수에서Semget.

경우에 따라 증가해야 할 수도 있습니다SEMMAP최소한 순서에 있어야SEMMNS. 이 매개 변수는

theSEMMSL매개 변수PostgreSQL.

관련된 다양한 기타 설정"세마포어 undo":SEMMNUandSemume, arePostgreSQL.

BSD/OS

공유 메모리.기본적으로 4MB 만

옵션 "shmall = 8192"

Shmall는 4KB로 측정됩니다kernel_virtual_mb248. 모든 것이 변경되면

4.0 이상을 실행하는 사람들의 경우 사용bpatch찾기sysptsize현재 토토 커뮤니티의 값.

$ bpatch -r sysptsize
0x9 = 9

다음, 추가sysptsizeasbpatch. 추가 4MB마다 1을 추가하십시오

옵션 "sysptsize = 16"

sysptsize변경할 수 없습니다sysctl.

semaphores.아마 원할 것입니다PostgreSQL연결. 토토 커뮤니티에서 원하는 값을 설정하십시오

옵션 "semmni = 40"
freebsd
netbsd
OpenBSD

옵션SYSVSHMandSYSVSEM언제Shmmaxpgs(페이지). 그만큼

옵션 sysvshm

(onOpenBSD옵션Singular.)

kernel을 고정하도록 구성 할 수도 있습니다.sysctl설정kern.ipc.shm_use_phys.

hp-ux

기본 설정은 정상으로 충분한 경향이 있습니다hp-ux10, 공장 기본값SEMMNS는 128이며 너무 낮을 수 있습니다

IPC매개 변수는 할 수 있습니다시스템 (SAM) 아래토토 커뮤니티 구성->구성 가능한 매개 변수. 때리다새 토토 커뮤니티 만들기언제

Linux

기본 공유 메모리 제한 (둘 다ShmmaxandShmall)는 2.2 개의 토토 커뮤니티에서 32MB이지만 ITProc파일

$ echo 134217728>/proc/sys/kernel/shmall
$ echo 134217728>/proc/sys/kernel/shmmax

이 명령을 스크립트에 넣을 수 있습니다.

또는 사용할 수 있습니다sysctl, 가능한 경우, 이들을 제어합니다/etc/sysctl.conf와 같은 선을 추가하십시오

kernel.shmall = 134217728

이 파일은 일반적으로 부팅 시간에 처리되지만sysctl도 호출 할 수 있습니다

다른 매개 변수의 크기는 충분합니다/usr/src/linux/include/asm-xxx/shmparam.hand/usr/src/linux/include/linux/sem.h.

MacOS X

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

sysctl -w kern.sysv.shmmax

OS X 10.3 에서이 명령은로 이동되었습니다./etc/rc편집해야합니다/etc/rc보통입니다

Shmall는 4KB로 측정됩니다

SCO OpenServer

기본 구성에서는 512kb의 공유 만 공유했습니다-B 24 -N 12. 늘리려면/etc/conf/cf.d. 전류를 표시합니다Shmmax, run

./configure -y shmmax

새 값을 설정하려면Shmmax, run

./configure shmmax =value

어디value새로운 것입니다Shmmax, 토토 커뮤니티 재건 :

./link_unix

및 재부팅.

aix

적어도 버전 5.1에서 필요하지 않아야합니다.ShmmaxDB/2.

그러나 글로벌 수정이 필요할 수도 있습니다ulimit정보/etc/security/limits, 기본값은 하드입니다fsize)nofiles)

Solaris

적어도 버전 2.6에서 기본 최대 크기의 a.PostgreSQL. 관련 설정/etc/system,

SET SHMSYS : SHMINFO_SHMMAX = 0X2000000

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

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

unixware

onunixware7, the-B 24 -N 12. 표시하려면Shmmax, run

/etc/conf/bin/idtune -g shmmax

현재, 기본값, 최소 및Shmmax, run

/etc/conf/bin/idtune shmmaxvalue

어디value새로운 것입니다Shmmax, 토토 커뮤니티 재건 :

/etc/conf/bin/idbuild -B

및 재부팅.

16.5.2.

유닉스와 같은 운영 체제는 다양한 종류의 종류를 시행합니다PostgreSQL서버. 의"하드"및 A"소프트"제한. 소프트 한계는 실제로입니다setRlimitulimit(Bourne Shells) 또는Limit (CSH) IS/etc/login.conf다양한 리소스를 제어합니다MaxProc, OpenFilesDataSize. 예를 들어:

기본값 : \

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

커널은 일부에 대한 시스템 전체 제한을 가질 수 있습니다

  • onLinux /proc/sys/fs/file-max/etc/sysctl.conf. 최대 한계/usr/src/linux/documentation/proc.txt

thePostgreSQL서버 사용

열기 파일의 공장 기본 제한이 종종 설정됩니다"사회적으로 친절한"그 가치

동전의 반대편에서 일부 시스템은 개인을 허용합니다.PostgreSQL'smax_files_per_process개방 소비를 제한하기위한 구성 매개 변수

16.5.3.

Linux 2.4 이상에서 기본 가상 메모리 동작PostgreSQL.PostgreSQL서버 (Postmaster프로세스) 메모리가 요구되는 경우

이런 일이 발생하면 보이는 토토 커뮤니티 메시지가 표시됩니다.

기억 부족 : 죽인 프로세스 12345 (우체국 장).

이것은임을 나타냅니다.Postmaster메모리 압력으로 인해 프로세스가 종료되었습니다. 하지만PostgreSQL

이 문제를 피하는 한 가지 방법은 실행하는 것입니다PostgreSQL당신이 할 수있는 기계에서

Linux 2.6 이상에서 더 나은 솔루션은"Overcommit"메모리. 이것은 선택하여 수행됩니다sysctl:

sysctl -w vm.overcommit_memory = 2

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

일부 공급 업체의 Linux 2.4 커널은 초기에보고되었습니다.sysctl매개 변수. 그러나 설정vm.overcommit_memory2 ~ 2 토토 커뮤니티에서vm_enough_memory파일에서mm/mmap.c) 지원되는 내용을 확인하려면과도한 커미트 계정문서화 파일아님