대형포스트그레SQL설치로 인해 다양한 운영 체제가 빠르게 소진될 수 있음 자원 제한. (일부 시스템에서는 공장 기본값이 다음과 같습니다. 정말 필요하지 않을 정도로 낮습니다."대형"설치.) 이런 종류의 문제는 계속 읽으세요.
공유 메모리와 세마포어를 총칭하여 다음과 같습니다."시스템 V IPC"(함께 관련 없는 메시지 대기열포스트그레SQL). 거의 모든 현대 운영 시스템은 이러한 기능을 제공하지만 모든 시스템에 이러한 기능이 있는 것은 아닙니다. 기본적으로 켜져 있거나 충분한 크기, 특히 시스템 BSD 유산으로. (에 대한QNX그리고BeOS포트,와이즈 토토자체 대체품 제공 이러한 시설을 구현합니다.)
이러한 시설의 완전한 부족은 일반적으로 나타납니다 에 의해잘못된 시스템 호출오류 포스트마스터가 시작되면. 그렇다면 할 수 있는 일은 아무것도 없다 하지만 와이즈 토토을 재구성하려면 --포스트그레SQL그들 없이는 작동하지 않습니다.
언제와이즈 토토1을 초과함 다양한 하드 중IPC제한, 포스트마스터는 시작을 거부하고 다음을 남겨야 합니다. 발생한 문제를 설명하는 유익한 오류 메시지 그리고 그것에 대해 무엇을 해야할지. (또한 참조섹션 3.3.1.) 관련 커널 매개변수의 이름은 다음과 같습니다. 다양한 시스템에서 일관되게;표 3-3주다 개요. 그러나 설정 방법은 다양합니다. 일부 플랫폼에 대한 제안 사항은 다음과 같습니다. 주의하세요 컴퓨터를 재부팅해야 하는 경우가 종종 있습니다. 이러한 설정을 변경하려면 커널을 다시 컴파일하세요.
표 3-3.시스템 뷔 IPC매개변수
| 이름 | 설명 | 합리적인 값 | 
|---|---|---|
SHMMAX | 
            공유 메모리 세그먼트의 최대 크기(바이트) | 250kB + 8.2kB *shared_buffers+ 14.2KB *max_connections또는
            무한대 | 
          
SHMMIN | 
            공유 메모리 세그먼트의 최소 크기(바이트) | 1 | 
SHMALL | 
            사용 가능한 공유 메모리의 총량(바이트 또는 페이지) | 바이트인 경우 다음과 동일SHMMAX; 페이지인 경우,ceil(SHMMAX/PAGE_SIZE) | 
          
SHMSEG | 
            최대 공유 메모리 세그먼트 수 프로세스 | 1개의 세그먼트만 필요하지만 기본값은 훨씬 더 많습니다. 더 높은 | 
SHMMNI | 
            공유 메모리 세그먼트의 최대 수 시스템 전체 | 좋아요SHMSEG플러스 룸
            다른 응용 프로그램의 경우 | 
          
SEMMNI | 
            세마포어 식별자의 최대 수(예: 세트) | = ceil(max_connections / 16) | 
SEMMNS | 
            시스템 전체의 최대 세마포어 수 | ceil(max_connections / 16) * 17+ 다른 응용 프로그램을 위한 공간 | 
SEMMSL | 
            세트당 세마포어의 최대 수 | = 17 | 
SEMMAP | 
            세마포어 맵의 항목 수 | 텍스트 참조 | 
SEMVMX | 
            세마포어의 최대값 | = 255(기본값은 대개 32767입니다. 변경하지 마세요. 요청하지 않는 한.) | 
가장 중요한
    공유 메모리 매개변수는SHMMAX,
    공유 메모리 세그먼트의 최대 크기(바이트)입니다. 당신이
    에서 오류 메시지를 받습니다.shmget좋아요잘못된 인수그렇습니다
    이 한도를 초과했을 가능성이 있습니다. 크기
    필요한 공유 메모리 세그먼트는 개수에 따라 달라집니다.
    요청된 버퍼(-B옵션) 및
    허용된 연결 수(-N옵션), 전자가 가장 많이 사용되지만
    중요합니다. (임시 해결책으로 이 값을 낮출 수 있습니다.
    실패를 제거하기 위한 설정입니다.) 대략적인 근사치로서,
    다음을 곱하여 필요한 세그먼트 크기를 추정할 수 있습니다.
    버퍼 수와 블록 크기(기본적으로 8kB) +
    충분한 오버헤드(최소 0.5MB). 모든 오류 메시지
    실패한 할당의 크기가 포함될 수 있습니다.
    요청합니다.
공유의 최소 크기는 문제를 일으킬 가능성이 적습니다.
    메모리 세그먼트(SHMMIN), 이는
    최대 약 256kB여야 합니다.와이즈 토토(보통 1입니다). 는
    시스템 전체의 최대 세그먼트 수(SHMMNI) 또는 프로세스별(SHMSEG)은 다음과 같은 경우를 제외하고는 문제를 일으키지 않습니다.
    시스템에서는 0으로 설정되어 있습니다. 일부 시스템에는 다음에도 제한이 있습니다.
    시스템의 총 공유 메모리 양; 참조
    아래의 플랫폼별 지침을 참조하세요.
와이즈 토토하나를 사용합니다
    허용된 연결당 세마포어(-N옵션), 16개 세트. 각 세트는
    또한 다음을 포함하는 17번째 세마포도 포함합니다."마법의 숫자", 다음과의 충돌을 감지합니다.
    다른 응용 프로그램에서 사용되는 세마포어 세트. 최대 수
    시스템의 세마포어 수는 다음과 같이 설정됩니다.SEMMNS, 결과적으로 최소한 다음과 같아야 합니다.
    연결 설정만큼 높음 + 16마다 1개 추가
    허용된 연결(공식 참조표 3-3). 는
    매개변수SEMMNI결정합니다
    존재할 수 있는 세마포어 세트의 수에 대한 제한
    시스템을 한번에. 따라서 이 매개변수는 최소한ceil(max_connections / 16). 낮추기
    허용되는 연결 수는 임시 해결 방법입니다.
    일반적으로 혼란스럽게 표현되는 실패"남은 공간이 없습니다
    장치", 함수에서semget().
어떤 경우에는 증가가 필요할 수도 있습니다.SEMMAP적어도 명령을 따르려면
    의SEMMNS. 이 매개변수는
    각각의 세마포어 리소스 맵의 크기
    사용 가능한 세마포어의 연속 블록에는 항목이 필요합니다. 언제
    세마포어 세트가 해제되거나 기존 항목에 추가됩니다.
    해제된 블록에 인접하거나
    새로운 맵 항목. 맵이 가득 차면 해제된 세마포어는
    손실되었습니다(재부팅할 때까지). 세마포어 공간의 단편화
    시간이 지남에 따라 사용 가능한 세마포어가 필요한 것보다 적어집니다.
    될.
그SEMMSL매개변수
    한 세트에 얼마나 많은 세마포어가 포함될 수 있는지 결정합니다.
    17개 이상와이즈 토토.
기타 관련 설정"세마포 실행 취소", 예를 들어SEMMNU및SEMUME, 걱정할 대상이 아닙니다.와이즈 토토.
공유 메모리.기본적으로 4MB만
            공유 메모리가 지원됩니다. 공유했다는 사실을 명심하세요
            메모리는 페이징할 수 없습니다. RAM에 잠겨 있습니다. 받는 사람
            지원되는 공유 버퍼 수를 늘립니다.
            포스트마스터님, 커널에 다음을 추가하세요
            구성 파일. 에이SHMALL값 1024는 4MB를 나타냅니다.
            공유 메모리의. 다음은 최대값을 증가시킵니다.
            공유 메모리 영역을 32MB로 늘립니다:
옵션 "SHMALL=8192" 옵션 "SHMMAX=\(SHMALL*PAGE_SIZE\)"
4.1 이상을 실행하는 경우 위의 내용을 작성하세요.
          변경하고 커널을 다시 컴파일한 후 재부팅하세요. 그런 분들을 위해
          이전 릴리스를 실행하려면 다음을 사용하세요.bp패치찾기 위해sysptsize현재 커널의 값입니다.
          이는 부팅 시 동적으로 계산됩니다.
$ bpatch -r sysptsize 0x9 = 9
다음, 추가SYSPTSIZE으로
          와이즈 토토 구성 파일에 하드 코딩된 값입니다.
          다음을 사용하여 찾은 값을 늘립니다.bpatch. 4개 추가 시 1개 추가
          원하는 공유 메모리 MB.
옵션 "SYSPTSIZE=16"
sysptsize될 수 없습니다
          에 의해 변경됨sysctl.
세마포어.당신은 세마포어의 수. 기본적으로,와이즈 토토34개 할당 기본 시스템 전체의 절반이 넘는 세마포어 60개 중.
와이즈 토토 구성에서 원하는 값을 설정하세요 파일, 예:
옵션 "SEMMNI=40" 옵션 "SEMMNS=240" 옵션 "SEMUME=40" 옵션 "SEMMNU=120"
옵션SYSVSHM그리고SYSVSEM활성화해야 함
          커널이 컴파일될 때. (기본값입니다.)
          공유 메모리의 최대 크기는 옵션에 따라 결정됩니다.SHMMAXPGS(페이지 단위). 는
          다음은 다양한 설정 방법의 예를 보여줍니다.
          매개변수:
옵션 SYSVSHM 옵션 SHMMAXPGS=4096 옵션 SHMSEG=256 옵션 SYSVSEM 옵션 SEMMNI=256 옵션 SEMMNS=512 옵션 SEMMNU=256 옵션 SEMMAP=256
(켜짐NetBSD그리고오픈BSD핵심 단어는 실제로옵션단수.)
또한 다음을 사용할 수도 있습니다sysctl공유 메모리 잠금 설정 RAM에 저장하고 스왑을 위해 페이지 아웃되는 것을 방지합니다.
기본 설정은 일반 환경에 충분한 경향이 있습니다.
          설치. 켜짐HP-UX10, 공장 기본값:SEMMNS은 128입니다. 이는 너무 낮을 수 있습니다.
          대규모 데이터베이스 사이트의 경우.
IPC매개변수는 에서 설정하세요.시스템 관리 관리자 (샘) 아래와이즈 토토 구성-구성 가능한 매개변수. 히트새 와이즈 토토 생성때 넌 끝났어.
기본 공유 메모리 제한(둘 다SHMMAX그리고SHMALL)은 2.2 와이즈 토토에서 32MB이지만
          에서 변경할 수 있습니다.proc파일
          시스템(재부팅하지 않음). 예를 들어 128을 허용하려면
          MB:
$ 에코 134217728 /proc/sys/kernel/shmall $ 에코 134217728 /proc/sys/kernel/shmmax
다음 명령을 다음에서 실행되는 스크립트에 넣을 수 있습니다. 부팅 시간.
또는 다음을 사용할 수도 있습니다.sysctl, 사용 가능한 경우, 이러한 매개변수를 제어합니다. 라는 파일을 찾으세요./etc/sysctl.conf그리고 줄을 추가하세요 다음과 같습니다:
kernel.shmall = 134217728 kernel.shmmax = 134217728
이 파일은 일반적으로 부팅 시 처리되지만sysctl또한 가능합니다 나중에 명시적으로 호출됩니다.
다른 매개변수의 크기는 어떤 용도에도 충분합니다. 신청. 직접 보고 싶다면 살펴보세요./usr/src/linux/include/asm-xxx/shmpara 시그리고/usr/src/linux/include/linux/sem.h.
파일 편집/시스템/라이브러리/StartupItems/SystemTuning/SystemTuning그리고 다음 값을 변경하십시오:
sysctl -w kern.sysv.shmmax sysctl -w kern.sysv.shmmin sysctl -w kern.sysv.shmmni sysctl -w kern.sysv.shmseg sysctl -w kern.sysv.shmall
이 값은 다음과 같은 의미를 갖습니다.맥OSX 이전에 나열된 것과 동일 운영 체제.
기본 구성에서는 512kB만 공유됩니다.
          세그먼트당 메모리가 허용됩니다. 이 정도면 충분합니다.-B 24 -N 12. 증가시키기 위해
          설정, 먼저 디렉터리를 다음으로 변경하세요./etc/conf/cf.d. 현재를 표시하려면
          값SHMMAX, 바이트 단위,
          실행
./configure -y SHMMAX
새 값을 설정하려면SHMMAX, 실행:
./SHMMAX 구성=값
어디에서값새로운 것입니다
          사용하려는 값(바이트 단위)입니다. 설정 후SHMMAX, 재구축
          와이즈 토토
./link_unix
그리고 재부팅하세요.
적어도 버전 2.6에서는 기본 최대 크기 공유 메모리 세그먼트가 너무 적습니다.와이즈 토토. 관련 설정 에서 변경될 수 있습니다./etc/시스템, 예를 들면:
shmsys:shminfo_shmmax=0x2000000 설정 shmsys:shminfo_shmmin=1로 설정 shmsys:shminfo_shmmni=256으로 설정 shmsys: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공유 메모리에 대한 정보는 아래솔라리스.
켜짐유닉스웨어7,
          공유 메모리 세그먼트의 최대 크기는 512kB입니다.
          기본 구성. 이 정도면 약-B 24 -N 12. 표시하려면
          현재 가치SHMMAX,
          실행
/etc/conf/bin/idtune -g SHMMAX
현재, 기본값, 최소값 및
          최대값(바이트)입니다. 에 대한 새 값을 설정하려면SHMMAX, 실행:
/etc/conf/bin/idtune SHMMAX값
어디에서값새로운 것입니다
          사용하려는 값(바이트 단위)입니다. 설정 후SHMMAX, 재구축
          와이즈 토토
/etc/conf/bin/idbuild -B
그리고 재부팅하세요.
유닉스 계열 운영체제는 다양한 종류의
    귀하의 운영을 방해할 수 있는 리소스 제한와이즈 토토서버. 의
    특히 중요한 점은 프로세스 수에 대한 제한입니다.
    사용자, 프로세스당 열린 파일 수,
    각 프로세스에서 사용할 수 있는 메모리 이들 각각에는"단단한"그리고"소프트"한계. 소프트 한도는 실제로
    개수로 계산되지만 하드 제한까지 사용자가 변경할 수 있습니다.
    하드 제한은 루트 사용자만 변경할 수 있습니다. 시스템
    전화setrlimit다음을 담당합니다.
    이러한 매개변수를 설정합니다. 셸의 내장 명령ulimit(본 쉘) 또는한계 (csh)는
    명령줄에서 리소스 제한을 제어하는 데 사용됩니다. 켜짐
    BSD 파생 시스템 파일/etc/login.conf다양한 자원을 제어합니다
    로그인 중에 설정된 제한. 참조login.conf31443_31491maxproc,
    열린 파일및데이터 크기. 예를 들면:
기본값:\
...
        :datasize-cur=256M:\
        :maxproc-cur=256:\
        :openfiles-cur=256:\
...
    (-현재소프트 한계입니다. 추가-최대하드 제한을 설정합니다.)
와이즈 토토은 일부에 대해 시스템 전체에 대한 제한을 가질 수도 있습니다. 자원.
켜짐리눅스 /proc/sys/fs/file-max결정합니다 커널이 지원할 최대 열린 파일 수입니다. 에 다른 번호를 적어서 변경할 수 있습니다. 파일 또는 과제를 추가하여/etc/sysctl.conf. 최대 한도 프로세스당 파일은 와이즈 토토이 업데이트될 때 수정됩니다. 컴파일; 참조/usr/src/linux/Documentation/proc.txt용 자세한 정보.
그와이즈 토토서버가 사용함 연결당 하나의 프로세스를 제공하므로 최소한 허용되는 연결 수만큼의 프로세스 시스템의 나머지 부분에 필요합니다. 이것은 일반적으로 문제는 하나의 컴퓨터에서 여러 서버를 실행하는 경우 꽉 막힐 수도 있어요.
열린 파일에 대한 공장 기본 제한은 종종 다음과 같이 설정됩니다."사회 친화적"가치 많은 사용자가 별도의 장치를 사용하지 않고도 한 컴퓨터에 공존할 수 있도록 합니다. 시스템 리소스의 부적절한 부분. 많이 달리면 머신의 서버는 아마도 여러분이 원하는 것일 수도 있지만 전용 서버에서는 이 한도를 높일 수 있습니다.
동전의 반대편에는 일부 시스템이 개인을 허용합니다.
    많은 수의 파일을 여는 프로세스; 몇 개 이상이라면
    프로세스가 그렇게 하면 시스템 전체의 한계가 쉽게
    초과했습니다. 이런 일이 발생하고 변경하고 싶지 않은 경우
    시스템 전체 제한을 설정할 수 있습니다.와이즈 토토'smax_files_per_process구성 매개변수
    열린 파일의 소비를 제한합니다.