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

3.5. 토토 사이트 추천 리소스 관리

Postgres설치 다양한 운영 체제 자원 제한을 빠르게 도달 할 수 있습니다. (에 일부 시스템, 공장 기본값이 너무 낮아서 정말 필요"큰"설치.) 이런 종류의 문제에 직면했다면 독서.

3.5.1. 공유 기억과 세마포어

공유 메모리 및 세마포어는 집합 적으로라고합니다."System V IPC"(함께 관련이없는 메시지 대기열Postgres). 거의 모든 현대 운영 시스템은 이러한 기능을 제공하지만 모든 기능을 제공하는 것은 아닙니다. 기본적으로 켜거나 충분히 크기를 조정하십시오 BSD 유산으로. (Qnx 및 Beos 포트의 경우Postgres자체 교체품을 제공합니다 이 시설의 구현.)

이러한 시설의 완전한 부족은 일반적으로 나타납니다 에 의해불법 시스템 호출오류 우체국 마스터 시작시. 이 경우에는 할 일이 없습니다 그러나 토토 사이트 추천을 재구성하려면 -Postgres그들 없이는 작동하지 않습니다.

언제Postgres하나를 초과합니다 IPC 리소스의 다양한 단단한 한계 중 우체국 장은 시작을 거부하고 어떤 문제가 있었는지에 대한 유익한 오류 메시지 만남과 그것에 대해 무엇을 해야하는지. (참조섹션 3.3.1.) 관련 토토 사이트 추천 매개 변수의 이름이 지정되었습니다 지속적으로 다른 시스템에 걸쳐;표 3-2개요. 그러나이를 설정하는 방법은 다양합니다. 일부 플랫폼에 대한 제안은 다음과 같습니다. 경고하십시오 최소한 컴퓨터를 재부팅 해야하는 경우가 종종 있습니다. 이 설정을 변경하기 위해 커널을 다시 컴파일하더라도.

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

이름 설명 합리적인 값
Shmmax 공유의 최대 크기 메모리 세그먼트 (바이트) 250 KB + 8192 * 버퍼 또는 무한대
Shmmin 공유의 최소 크기 메모리 세그먼트 (바이트) 1
Shmall 공유 금액 사용 가능한 메모리 (바이트 또는 페이지) 바이트 인 경우 shmmax와 동일합니다. 페이지, CEIL (shmmax/page_size)
SHMSEG 공유 수의 최대 수 프로세스 당 메모리 세그먼트 1 세그먼트 만 필요합니다. 그러나 기본값은 훨씬 높습니다
shmmni 공유 최대 수 메모리 세그먼트 시스템 전체 LikeSHMSEG다른 기타 공간 응용 프로그램
SEMMNI 최대 수 세마포어 식별자 (예 : 세트) = CEIL (max_connections / 16)
SEMMNS 최대 수 Semaphores System-Wide CEIL (max_connections / 16) * 17 + 기타 응용 프로그램의 공간
SEMMSL 최대 수 세트 당 세마포어 = 17
SEMMAP 출품작 수 세마포어지도 텍스트 참조
SEMVMX 최대 값 신호기 = 255 (기본값은입니다 종종 32767, 요청하지 않으면 변경하지 마십시오.)

가장 중요한 공유 메모리 매개 변수는입니다.Shmmax, 최대 크기, 바이트의 a 공유 메모리 세그먼트가 가질 수 있습니다. 오류 메시지가 표시되면 에서SHMGET를 따라잘못된 인수그런 다음입니다 이 한도를 초과했을 가능성이 있습니다. 크기 필요한 공유 메모리 세그먼트는 수에 따라 다릅니다. 요청 된 버퍼 (-B옵션) 및 허용 연결 수 (-n옵션), 전자는 지배적 인 항목이지만. (당신은 할 수 있습니다 따라서 임시 솔루션으로서 이러한 설정을 낮추어 실패를 제거하십시오.) 대략적인 근사치로서 추정 할 수 있습니다. 버퍼의 수는 필요한 세그먼트 크기가 블록 크기 (기본적으로 8192 KB) + 충분한 오버 헤드 (적어도 적어도 반 메가 바이트). 얻을 수있는 오류 메시지에는 포함됩니다 할당 실패 요청의 크기.

문제를 일으킬 가능성이 적은 것은 공유의 최소 크기입니다. 메모리 세그먼트 (Shmmin) 최대 약 256kb의 경우Postgres(보통 1). 그만큼 최대 세그먼트 수 시스템 전체 (shmmni) 또는 프로세스 당 (SHMSEG)는 귀하가 아닌 한 문제를 일으키지 않아야합니다 시스템에는 0으로 설정되어 있습니다. 일부 시스템은 또한 제한이 있습니다 시스템에서 공유 메모리의 총량; 참조 아래 플랫폼 별 지침.

Postgres하나의 세마포어를 사용합니다 허용 된 연결 당 (-n옵션), in 16 세트. 그러한 각 세트에는 17 번째 세마포도가 포함됩니다. 포함"매직 번호", to 다른 응용 분야에서 사용하는 세마포어 세트와 충돌하지 마십시오. 시스템의 최대 세마포어 수는에 의해 설정됩니다.SEMMNS연결 설정만큼 높고 각각 1 개 이상 16 허용 된 연결 (공식 참조표 3-2). 그만큼 매개 변수semmni한도를 결정합니다 시스템에 존재할 수있는 세마포어 세트 수에 일회. 따라서이 매개 변수는 적어도CEIL (Max_Connections / 16). 숫자를 낮추는 것 허용 된 연결은 실패를위한 임시 해결 방법입니다. 보통 혼란스럽게 말한다"남은 공간이 없습니다 장치", 함수에서semget ().

어떤 경우에는 또한 필요할 수도 있습니다. 증가하다SEMMAP적어도 순서SEMMNS. 이 매개 변수 세마포어 리소스 맵의 크기를 정의합니다. 사용 가능한 세마포르의 연속 블록에는 항목이 필요합니다. 언제 a semaphore 세트가 해제되어 기존 항목에 추가됩니다. 해방 된 블록에 인접하거나 새로운지도 항목. 지도가 가득 차면 해방 된 세마포어가 얻습니다 손실 (재부팅 될 때까지). 세마포 공간의 조각화가 가능합니다 따라서 시간이 지남에 따라 수강이 덜 구호합니다 있어야합니다.

theSEMMSL매개 변수 세트에 몇 개의 세마포르가있을 수 있는지 결정하고 최소 17 forPostgres.

관련된 다양한 기타 설정"세마포어 undo":SEMMNUandSemume, are 걱정하지 않음Postgres.

BSD/OS

공유 메모리.기본적으로 4MB 만 공유 메모리가 지원됩니다. 공유 한 것을 명심하십시오 메모리는 pagable이 아닙니다. RAM에 잠겨 있습니다. 에게 지원하는 공유 버퍼의 수를 늘리십시오 우체부 마스터, 토토 사이트 추천 구성에 다음을 추가하십시오 파일. 에이Shmall값 1024 공유 메모리의 4MB를 나타냅니다. 다음 최대 공유 메모리 영역을 32MB로 증가시킵니다 :

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

4.1 이상을 실행하는 사람들의 경우 위를 만드십시오. 변경하고 커널을 다시 컴파일하고 재부팅합니다. 그것들을 위해 이전 릴리스 실행, 사용bpatchsysptsize현재 커널의 값. 이것은 부팅시 동적으로 계산됩니다.

$bpatch -r sysptsize
0x9 = 9
다음, 추가sysptsize하드 코딩 된 토토 사이트 추천 구성 파일의 값. 사용하여 찾은 값을 늘리십시오bpatch. 추가마다 1을 추가하십시오 원하는 공유 메모리 4MB.
옵션 "sysptsize = 16"
sysptsizesysctl.

semaphores.세마포어 수. 기본적으로Postgres34 세의 세마포어를 할당, 기본 시스템 총 60의 절반 이상입니다.

토토 사이트 추천 구성 파일에서 원하는 값을 설정합니다. 예 :

옵션 "SEMMNI = 40"
옵션 "SEMMNS = 240"
옵션 "Semume = 40"
옵션 "semmnu = 120"
freebsd, OpenBsd

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

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

옵션 sysvsem
옵션 semmni = 256
옵션 SEMMNS = 512
옵션 semmnu = 256
옵션 semmap = 256
hp-ux

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

IPC 매개 변수를 설정할 수 있습니다시스템 관리 관리자(SAM) 아래토토 사이트 추천 구성-구성 가능한 매개 변수. 때리다새 토토 사이트 추천 생성언제 당신은 끝났습니다.

Linux

기본 공유 메모리 제한 (둘 다ShmmaxShmall)는 2.2 토토 사이트 추천에서 32MB이지만 IT 에서 변경할 수 있습니다.Proc파일 시스템 (재부팅없이). 예를 들어, 128을 허용합니다 MB :

$ echo 134217728/proc/sys/kernel/shmall
$ echo 134217728/proc/sys/kernel/shmmax
부팅 시간 에이 명령을 스크립트 실행에 넣을 수 있습니다.

또는 사용할 수 있습니다sysctl, 사용 가능한 경우, 이러한 매개 변수를 제어합니다. 라는 파일을 찾으십시오./etc/sysctl.conf및 라인을 추가하십시오 다음과 같이 :

kernel.shmall = 134217728
kernel.shmmax = 134217728
이 파일은 일반적으로 부팅 시간에 처리되지만sysctl명시 적으로 나중에 전화합니다.

다른 매개 변수의 크기는 충분합니다 애플리케이션. 당신이 직접보고 싶다면/usr/src/linux/conlude/asm-xxx/shmparam.hand/usr/src/linux/include/linux/sem.h.

SCO OpenServer

기본 구성에서는 512kb의 공유 만 공유했습니다 메모리 자체 세그먼트가 허용되며, 이는 충분합니다-B 24 -N 12. 늘리려면 설정, 먼저 디렉토리 변경/etc/conf/cf.d. 전류를 표시합니다 의 가치Shmmax, 바이트, 달리다

./configure -y shmmax
새 값을 설정하려면Shmmax, run :
./configure shmmax =value
여기서value는 새로운 값입니다 (바이트)를 사용하고 싶습니다. 설정 후Shmmax, 토토 사이트 추천을 재건
./link_unix
및 재부팅.
Solaris

적어도 버전 2.6에서 공유의 최대 크기 메모리 세그먼트가 너무 낮게 설정되어Postgres. 관련 설정은 할 수 있습니다 변경/etc/system, for 예:

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 : //www.sunworld.com/swol-09-1997/swol-09-insidesolaris.html공유 메모리에 대한 정보Solaris.

unixware

onunixware7, the 공유 메모리 세그먼트의 최대 크기는 512kb입니다. 기본 구성. 이것은 충분합니다.-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
및 재부팅.

3.5.2. 자원 제한

유닉스와 같은 운영 체제는 다양한 종류의 종류를 시행합니다 귀하의 운영을 방해 할 수있는 자원 제한Postgres서버. 중요합니다 특히 사용자 당 프로세스 수에 대한 한도입니다. 프로세스 당 열린 파일 수와 메모리 량 프로세스에 사용할 수 있습니다. 이들 각각은를 가지고 있습니다."하드"및 A"소프트"제한. 소프트 한계는 실제로 중요하지만 사용자가 하드 제한으로 변경했습니다. 어려운 한계는 할 수 있습니다 루트 사용자 만 변경합니다. 시스템 호출setRlimit이 설정을 담당합니다 매개 변수. 쉘의 내장 명령ulimit(Bourne Shells) 또는Limit(CSH)는 리소스를 제어하는 ​​데 사용됩니다 명령 줄에서 제한. BSD 유래 시스템에서 파일/etc/login.conf어떤 값을 제어합니다 로그인시 다양한 리소스 제한이 설정됩니다. 보다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더 많은 정보.

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

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