3.5. ¹ÜÀíÄÚºË×ÊÔ´

Ò»´Î´óÐÍPostgreSQL°²×°»áºÜÈÝÒ׺ľ¡¸÷ÖÖ²Ù×÷ϵͳµÄ ×ÊÔ´ÉÏÏÞ£®£¨ÔÚÓÐЩϵͳÉÏ£¬³ö³§ÉèÖõ͵ÃÄ㶼²»ÓÃÒ»´Î"´óÐÍ"°²×°£®£© Èç¹ûÄãÅöµ½ÕâÀàÎÊÌ⣬Çë¼ÌÐøÔĶÁ£®

3.5.1. ¹²ÏíÄÚ´æºÍÐźŵÆ

¹²ÏíÄÚ´æºÍÐźŵƵÄÕýÈ·½Ð·¨ÊÇ"System VIPC"£¨ »¹ÓÐÏûÏ¢¶ÓÁУ¬²»¹ý¶ÔÓÚPostgreSQL¶øÑÔûʲô ¹Øϵ£®£©¾¡¹ÜËùÓÐÏÖ´ú²Ù×÷ϵͳ¶¼ÌṩÕâ¸öÌØÐÔ£¬µ«²¢²»ÊÇ ËùÓÐϵͳȱʡ¶¼´ò¿ªËü»òÕßÓÐ×ã¹»µÄ×ÊÔ´£¬ÓÈÆäÊÇÓÐ BSD Ç×Ô´ µÄϵͳ£® £¨¶ÔÓÚQNXºÍ BeOSÒÆÖ²£ PostgreSQL×Ô¼ºÌṩÕâÌ× »úÖƵÄÌ滻ʵÏÖ£®£©

ÍêȫȱÉÙÕâЩ»úÖƵıíÏÖͨ³£ÊÇÔÚ postmaster Æô¶¯µÄʱºòµÄ Illegal system call´íÎó£®Õâʱ³ýÁËÖØÐÂÅäÖÃÄÚºËÒÔÍâ ûʲô¿É×öµÄ -- PostgreSQL ûËüÃǸɲ»Á˻

Èç¹û PostgreSQL ³¬³öÁËÕâЩIPC ×ÊÔ´µÄÓ²ÏÞÖÆÖ®Ò»µÄʱºò ¾Í»á¾Ü¾øÆô¶¯²¢ÇÒÁôÏÂÒ»ÌõÏ൱ÓÐÆô·¢ÐԵĴíÎóÐÅÏ¢¸æËßÄãËüÅöµ½ÁË Ê²Ã´ÎÊÌâÒÔ¼°ÐèҪΪËü×öЩʲô£® £¨ÓÖ¼û Section 3.3.1£®£© Ïà¹ØµÄÄں˲ÎÊýÔÚ²»Í¬ÏµÍ³Ö®¼äÓÐ×ÅÏà¶Ô¹Ì¶¨µÄÊõÓ Table 3-3 ÊÇÒ»¸ö¸Å¿ö£®²»¹ý£¬ÉèÖÃËüÃǵķ½·¨È´ ¶àÖÖ¶àÑù£®²»¹ýҪעÒâµÄÊÇ£¬Äã¿ÉÄÜ×îºÃÖØÐÂÆô¶¯ÄãµÄ»úÆ÷£¬»òÕß»¹Òª ÖØбàÒëÄÚºËÀ´ÐÞ¸ÄÕâЩÉèÖã®

Table 3-3. System V IPC²ÎÊý

Ãû×ÖÃèÊöºÏÀíÈ¡Öµ
SHMMAX×î´ó¹²ÏíÄÚ´æ¶Î³ß´ç£¨×Ö½Ú£©250kB + 8.2 kB * shared_buffers + 14.2 kB * 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µÄÀàËÆInvalid argument ÕâÑùµÄ´íÎóÐÅÏ¢£¬ÄÇôºÜÓпÉÄÜÊÇÄ㳬¹ýÏÞÖÆÁË£® ÒªÇóµÄ¹²ÏíÄÚ´æ¶ÎËæ×ÅÇëÇóµÄ»º³åÇøÊýÁ¿£¨-BÑ¡ÏºÍ ÔÊÐíµÄÁ¬½ÓÊýÁ¿£¨-NÑ¡ÏµÄ±ä»¯¶ø±ä»¯£¬¾¡¹ÜÇ°ÕßÊÇ ×îÖØÒªµÄÒòËØ£® £¨Òò´Ë£¬×÷ΪһÖÖÁÙʱµÄ½â¾ö·½·¨£¬Äã¿ÉÒÔ½µµÍÕâЩÉèÖÃÀ´Èƹýʧ°Ü£®£© Èç¹û´ÖÂԵعÀ¼Æ£¬Äã¿ÉÒÔ¹À¼ÆËùÐèÒªµÄ¶Î³ß´çÊÇ»º³åÇøÊýÁ¿³ËÒÔ¿é ³ß´ç£¨È±Ê¡ 8 kB£©¼ÓÉÏ×ã¹»µÄÓ¯ÓࣨÖÁÉÙ°ëÕ××Ö½Ú£©£® ÈκδíÎóÐÅÏ¢¶¼»á°üº¬·ÖÅäʧ°ÜµÄ³ß´ç£®

²»Ì«¿ÉÄܳöÎÊÌâµÄÊǹ²ÏíÄÚ´æ¶ÎµÄ×îС³ß´ç£¨SHMMIN£©£¬ ¶Ô PostgreSQLÀ´Ëµ´óÔ¼ÊÇ 256 kB×óÓÒ£¨Í¨³£Ö»ÊÇ 1£©£¬¶ø ϵͳ·¶Î§£¨SHMMNI£©»òÿ½ø³Ì£¨SHMSEG£© ×î´ó¹²ÏíÄÚ´æ¶ÎÊýÁ¿²»Ó¦¸Ã»á²úÉúÎÊÌ⣬³ý·ÇÄãµÄϵͳ°ÑËüÃÇÉè³ÉÁ㣮 ÓÐЩϵͳ»¹¶ÔϵͳÀïµÄ¹²ÏíÄÚ´æ×ÜÁ¿ÓÐÏÞÖÆ£»²ÎÔÄÏÂÃæƽ̨Ïà¹ØµÄÖ¸µ¼£®

PostgreSQL ÿ¸öÔÊÐíµÄÁª½ÓʹÓÃÒ»¸öÐÅºÅµÆ £¨-NÑ¡Ï£¬ ÒÔ 16 ¸öΪһÌ×£®Ã¿Ì×Ðźŵƻ¹°üº¬µÚÊ®Æ߸öÐźŵƣ¬ ËüÀïÃæ´æ´¢Ò»¸ö"magic number£¨±êÖ¾Êý×Ö£©"£¬ ÒÔ¼ì²âºÍÆäËûÓ¦ÓÃʹÓõÄÐźŵƼ¯³åÍ»£® ϵͳÀïµÄ×î´óÐźŵÆÊýÄ¿ÊÇÓÉSEMMNSÉèÖõģ¬ Òò´ËÕâ¸öÖµÓ¦¸ÃÖÁÉÙºÍÁª½ÓÉèÖÃÒ»Ñù´ó£¬²¢ÇÒÿʮÁù¸öÁª½Ó»¹ÒªÁíÍâ¼ÓÒ»¸ö£® £¨²ÎÔÄTable 3-3 ÀïÃæµÄ¹«Ê½£®£© ²ÎÊýSEMMNI¾ö¶¨ ϵͳÀïÒ»´Î¿ÉÒÔ´æÔÚµÄÐźŵƼ¯µÄÊýÄ¿£®Òò´ËÕâ¸ö²ÎÊýÖÁÉÙÓ¦¸ÃΪ ceil(max_connections % 16)£®½µµÍÔÊÐíµÄÁª½ÓÊýÄ¿ÊÇÒ»¸öÁÙʱµÄ ÈÆ¿ªÊ§°ÜµÄ·½·¨£¬Õâ¸öÆô¶¯Ê§°Üͨ³£±»À´×Ôº¯Êýsemget() µÄ´íÎóÏìÓ¦ "No space left on device"¸ãµÃºÜÈÃÈËÃÔ»ó£®

ÓÐʱºò»¹¿ÉÄÜÓбØÒªÔö´óSEMMAP£¬Ê¹Ö®ÖÁÉÙ°´ÕÕ SEMMNSÅäÖã®Õâ¸ö²ÎÊý¶¨ÒåÐźŵÆ×ÊÔ´Ó³ÉäµÄ³ß´ç£¬ ¿ÉÓõÄÿ¸öÁ¬ÐøµÄÐźŵƿéÔÚÕâ¸öÓ³ÉäÖдæ·ÅÒ»Ìõ¼Ç¼£® ÿµ±Ò»Ì×ÐźŵƱ»ÊÍ·Å£¬ÄÇôËüҪô»á¼ÓÈëµ½¸ÃÓ³ÉäÖÐÒ»ÌõÏàÁ¬µÄ ÒÑÊͷŵĿéµÄÈë¿ÚÖУ¬ÒªÃ´×¢²á³ÉÒ»ÌõеÄÈë¿Ú£®Èç¹ûÓ³ÉäÌîÂúÁËËéƬ£¬ ÄÇô±»ÊͷŵÄÐźŵƾͶªÊ§ÁË£¨³ý·ÇÖØÆ𣩣®Òò´Ëʱ¼ä³¤ÐźŵƿռäµÄËéƬ Á˻ᵼÖ¿ÉÓõÄÐźŵƱÈÓ¦¸ÃÓеÄÐźŵÆÉÙ£®

SEMMSL ²ÎÊý£¬¾ö¶¨Ò»Ì×ÐźŵÆÀï¿ÉÒÔÓжàÉÙÐźŵƣ¬¶ÔÓÚ PostgreSQL¶øÑÔÓ¦¸ÃÖÁÉÙÊÇ 17£®

Ðí¶àÉèÖÃÓë "semaphore undo£¨Ðźŵƻָ´£©"Óйأ¬±ÈÈç SEMMNU ºÍ SEMUME£¬ÕâЩÓë PostgreSQLÎ޹أ®

BSD/OS

¹²ÏíÄÚ´æ. ȱʡʱÊÇÖ»Ö§³Ö 4 MB µÄ¹²ÏíÄڴ森Çë¼Çס¹²ÏíÄÚ´æÊDz»ÄÜ·ÖÒ³µÄ£»ËüÊÇ ËøÔÚ RAM ÀïÃæµÄ£®ÒªÔö¼Ó postmaster Ö§³ÖµÄ¹²Ïí»º³åÇøÊýÄ¿£¬Ïò ÄãµÄÄÚºËÅäÖÃÎļþÀïÔö¼ÓÏÂÃæµÄÐУ®Ò»¸öֵΪ 1024 µÄ SHMALL ´ú±í 4 M ¹²ÏíÄڴ森ÏÂÃæµÄ¶«Î÷°Ñ¹²ÏíÄÚ´æÇøÓòÔö¼Óµ½ 32 MB¡Ã

options "SHMALL=8192"
options "SHMMAX=\(SHMALL*PAGE_SIZE\)"

¶ÔÓÚÔËÐÐ 4.1 »ò¸üеİ汾µÄÈË£¬Ö»ÐèÒª×öÉÏÃæµÄÐ޸ģ¬ È»ºó±àÒëÄں˲¢ÖØÆ𣮶ÔÓÚÔËÐÐ ¸üÔçµÄ°æ±¾µÄ£¬ÇëÓà bpatch ÕÒ³öµ±Ç°ÄÚºËµÄ sysptsizeÖµ£®ËüÊÇÆô¶¯µÄʱºò×Ô¶¯¼ÆËãµÄ£®

$ bpatch -r sysptsize
0x9 = 9

È»ºó£¬°Ñ SYSPTSIZEÐÞ¸ÄΪÔÚÄÚºËÅäÖÃÎļþÀïµÄÒ»¸öÓ²´úÂëÖµ£® Óà bpatch Ëã³öÀ´µÄÖµ£¬²¢ÇÒΪÄãÐèÒªµÄÿ¸ö¶îÍâµÄ 4 MB ¹²ÏíÄÚ´æÔÙ¼Ó 1£®

options "SYSPTSIZE=16"

sysptsize²»ÄÜÓà sysctl Ð޸ģ®

ÐźŵÆ. Äã¿ÉÄÜÐèÒªÔö¼ÓÐźŵƵÄÊýÁ¿£®È±Ê¡Ê±£¬PostgreSQL ·ÖÅä 34 ¸öÐźŵƣ®Õâ¸öÊýÁ¿Ö»ÊǸոճ¬¹ýȱʡµÄϵͳ×ÜÊý 60 µÄÒ»°ë£®

ÔÚÄÚºËÅäÖÃÎļþÀïÉèÖÃÄãÐèÒªµÄÖµ£¬±ÈÈ磺

options "SEMMNI=40"
options "SEMMNS=240"
options "SEMUME=40"
options "SEMMNU=120"

FreeBSD
NetBSD
OpenBSD

±àÒëÄÚºËʱ ÐèÒª°ÑÑ¡ÏîSYSVSHM ºÍ SYSVSEM´ò¿ª£® £¨È±Ê¡ÊÇ´ò¿ªµÄ£®£© ¹²ÏíÄÚ´æµÄ×î´ó³ß´çÊÇÓÉÑ¡ÏîSHMMAXPGS£¨ÒÔÒ³¼Æ£©£® ÏÂÃæÏÔʾÁËÒ»¸öÈçºÎÉèÖÃÕâЩ²ÎÊýµÄÀý×Ó£º

options         SYSVSHM
options         SHMMAXPGS=4096
options         SHMSEG=256

options         SYSVSEM
options         SEMMNI=256
options         SEMMNS=512
options         SEMMNU=256
options         SEMMAP=256

(ÔÚ NetBSD ºÍ OpenBSDÀ¹Ø¼ü×Öʵ¼ÊÉÏÊǵ¥ÊýµÄ option)

Äã¿ÉÄÜÔ­ÒâʹÓà sysctl ÉèÖý«¹²ÏíÄÚ´æËøÔÚ RAM ÖÐÒÔ±ÜÃâËüÃDZ»½»»»³öÈ¥£¬Ò²¼´£¬kern.ipc.shm_use_phys¡£

HP-UX

ȱʡÉèÖÿ´À´¶ÔÆÕͨ°²×°ÊÇ×ã¹»µÄÁË£® ÔÚ HP-UX 10£¬SEMMNSµÄ³ö³§È±Ê¡ÊÇ 128£¬ ¿ÉÄܶԴóµÄÊý¾Ý¿â½ÚµãÀ´ËµÌ«Ð¡ÁË£®

IPC¿ÉÒÔÔÚ System Administration Manager£¨ÏµÍ³¹ÜÀíÆ÷£© (SAM)ÏÂÃæµÄ Kernel Configuration->Configurable Parameters ÅäÖã®ÄãÅäÖÃÍêÁËÒÔºóÇà Create A New KernelÑ¡Ï

Linux

ÔÚ 2.2 ÄÚºËÀïȱʡµÄ¹²ÏíÄÚ´æÏÞÖÆ£¨ SHMMAX ºÍ SHMALL£©¶¼ÊÇ 32 MB£¬µ«ÊÇÄã¿ÉÒÔÔÚ 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/include/asm-xxx/shmparam.h ºÍ /usr/src/linux/include/linux/sem.h.

MacOS X

±à¼­Îļþ /System/Library/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

ÕâЩֵÔÚ MacOS X Éϵĺ¬ÒåºÍÇ°ÃæÁгöµÄ²Ù×÷ϵͳµÄº¬ÒåÏàͬ¡£

SCO OpenServer

ȱʡÅäÖÃʱ£¬Ö»ÔÊÐíÿ¶Î 512KB ¹²ÏíÄڴ棬´ó¸ÅÖ»¹» -B 24 -N 12Óõģ®ÒªÔö´óÉèÖã¬Ê×ÏȽøÈë /etc/conf/cf.dĿ¼£®ÒªÏÔʾµ±Ç°µÄÒÔ×Ö½Ú¼ÇµÄ SHMMAX£¬ÔËÐÐ

./configure -y SHMMAX

ÉèÖà SHMMAXµÄÐÂÖµ£º

./configure SHMMAX=value

ÕâÀï value ÊÇÄãÏëÉèÖõÄÒÔ×ֽڼǵÄÐÂÖµ£® ÉèÖÃÍêÁËÒÔºóSHMMAXÖØÐÂÖÆ×÷ÄÚºË

./link_unix

È»ºóÖØÆð£®

Solaris

ÖÁÉÙµ½°æ±¾ 2.6 Ϊֹ£¬¹²ÏíÄÚ´æ¶ÎµÄȱʡ×î´óÉèÖÃ¶Ô PostgreSQL À´ËµÊÇÌ«µÍÁË£®Ïà¹ØµÄÉèÖÿÉÒÔÔÚ/etc/systemÀïÃæÐ޸ģ¬ ÀýÈ磺

set shmsys:shminfo_shmmax=0x2000000
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=256
set shmsys:shminfo_shmseg=256

set semsys:seminfo_semmap=256
set semsys:seminfo_semmni=512
set semsys:seminfo_semmns=512
set semsys:seminfo_semmsl=32

ÄãÒªÖØÆðϵͳÁîÐÞ¸ÄÉúЧ£®

ÓÖ¼û http://www.sunworld.com/swol-09-1997/swol-09-insidesolaris.html »ñÈ¡¹ØÓÚ Solaris ÀïÃæµÄ¹²ÏíÄÚ´æµÄÐÅÏ¢£®

UnixWare

ÔÚ UnixWare 7 ÉÏ£¬È±Ê¡ÅäÖÃÀïµÄ×î´ó¹²ÏíÄÚ´æ¶ÎÊÇ 512 kB£® Õâ¸öÊýÖ»¹»-B 24 -N 12Óõģ®ÒªÏÔʾSHMMAXµÄ µ±Ç°Öµ£¬ÔËÐÐ

/etc/conf/bin/idtune -g SHMMAX

¾Í»áÏÔʾÒÔ×ֽڼǵĵ±Ç°µÄȱʡµÄ×îСºÍ×î´óÖµ£® Òª¸øSHMMAXÉèÖÃÒ»¸öÐÂÖµ£¬ÔËÐУº

/etc/conf/bin/idtune SHMMAX value

ÕâÀï valueÊÇÄãÏëÉèÖõÄÒÔ×ֽڼǵÄÐÂÖµ£® ÉèÖÃÍêSHMMAXºó£¬Öؽ¨ÄÚºË

/etc/conf/bin/idbuild -B

È»ºóÖØÆð£®

3.5.2. ×ÊÔ´ÏÞÖÆ

Unix ÀàϵͳǿÖÆÁËÐí¶à×ÊÔ´ÏÞÖÆ£¬ÕâЩÏÞÖÆ¿ÉÄܸÉÈÅÄãµÄ PostgreSQL ·þÎñÆ÷µÄÔËÐУ® ÕâÀïÓÈÆäÖØÒªÊǶÔÿ¸öÓû§µÄ½ø³ÌÊýÄ¿µÄÏÞÖÆ£¬Ã¿¸ö½ø³Ì´ò¿ªÎļþÊýÄ¿£¬ ÒÔ¼°Ã¿¸ö½ø³Ì¿ÉÓõÄÄڴ森 ÕâЩÏÞÖÆÖÐÿ¸ö¶¼ÓÐÒ»¸ö"Ó²"ÏÞÖƺÍÒ»¸ö"Èí" ÏÞÖÆ£® ÈíÏÞÖÆʵ¼ÊÊǹÜÓõģ¬µ«Óû§¿ÉÒÔ×Ô¼ºÐ޸ijÉ×î´óΪӲÏÞÖƵÄÊýÄ¿£® ¶øÓ²ÏÞÖÆÊÇÖ»ÄÜÓÉ root Óû§Ð޸ĵÄÏÞÖÆ£® ϵͳµ÷Óà setrlimit ¸ºÔðÉèÖÃÕâЩ²ÎÊý£® shell µÄÄÚ½¨ÃüÁî ulimit£¨Bourne shells£© »òlimit £¨csh£© ¾ÍÊÇÓÃÓÚÔÚÃüÁîÐÐÉÏ¿ØÖÆ×ÊÔ´ÏÞÖƵģ® ÔÚ BSD ÑÜÉúµÄϵͳÉÏ£¬Îļþ/etc/login.conf ¿ØÖÆÔڵǼʱ¶Ô¸÷ÖÖ×ÊÔ´ÉèÖÃʲôÑùµÄÏÞÖÆÊýÖµ£® ²ÎÔÄ login.conf »ñȡϸ½Ú£® Ïà¹ØµÄ²ÎÊýÊÇ maxproc£¬ openfiles£¬ºÍ datasize£® ±ÈÈ磺

default:\
...
        :datasize-cur=256M:\
        :maxproc-cur=256:\
        :openfiles-cur=256:\
...

£¨-cur ÊÇÈíÏÞÖÆ£¬ºóÃ渽¼Ó -max ¾Í¿ÉÒÔÉèÖÃÓ²ÏÞÖÆ£®£©

ÄÚºËͨ³£Ò²ÓÐһЩϵͳ·¶Î§µÄ×ÊÔ´ÏÞÖÆ£®

PostgreSQL ·þÎñÆ÷ÿ¸öÁª½Ó¶¼Ê¹ÓÃÒ»¸ö½ø³Ì£¬ ËùÒÔÄãÓ¦¸ÃÖÁÉÙÔÊÐíºÍÁª½ÓÊýÏàͬµÄ½ø³ÌÊý£¬ÔÙ¼ÓÉÏÄãµÄϵͳÆäËü²¿·Ö ËùÐèÒªµÄÊýÄ¿£®Í¨³£Õâ¸ö²¢²»ÊÇʲôÎÊÌ⣬µ«Èç¹ûÄãÔÚһ̨»úÆ÷ÉÏ ÔËÐжà¸ö·þÎñÆ÷£¬ÄÇÄã¾ÍÒª°ÑÊÂÇéÀíÇå³þ£®

´ò¿ªÎļþÊýÄ¿µÄ³ö³§È±Ê¡ÉèÖÃͨ³£ÉèÖÃΪ "Éç»áÓѺÃ"ÊýÖµ£¬¾ÍÊÇ˵ÔÊÐíÐí¶àÓû§¹²´æÓÚһ̨»úÆ÷£¬ ¶ø²»»áµ¼ÖÂֻʹÓÃϵͳ×ÊÔ´µÄ²»µ±±ÈÀý£®Èç¹ûÄãÔÚһ̨»úÆ÷ÉÏÔËÐÐÐí¶à ·þÎñÆ÷£¬ÕâÒ²Ðí¾ÍÊÇÄãÏëÒªµÄ£¬µ«ÊÇÔÚÌØÊâµÄ·þÎñÆ÷ÉÏ£¬Äã¿ÉÄÜÐèÒªÌá¸ß Õâ¸öÏÞÖÆ£®

ÎÊÌâµÄÁíÍâÒ»±ß£¬Ò»Ð©ÏµÍ³ÔÊÐí¶ÀÁ¢µÄ½ø³Ì´ò¿ª·Ç³£¶àµÄÎļþ£» Èç¹ûÓÐÄÇô¼¸¸ö½ø³ÌÕâô¸É£¬ÄÇϵͳ·¶Î§µÄÉÏÏ޾ͺÜÈÝÒ×´ïµ½£® Èç¹ûÄã·¢ÏÖÕâÑùµÄÏÖÏ󣬲¢ÇÒ²»ÏëÐÞ¸Äϵͳ·¶Î§µÄÏÞÖ¹£¬ Äã¾Í¿ÉÒÔ°Ñ PostgreSQL µÄ max_files_per_process ÅäÖòÎÊýÉèÖÃΪÄãÔÊÐíµÄ ×î´óµ¥½ø³Ì´ò¿ªÎļþÊý£®