EnderUNIX Team.


EnderUNIX İpucu

Arkadaşıma gönder , Ana Sayfa

[ PostgreSQL ]

"shared memory ve shared_buffers düzensizliði" - Mesut GÜLNAZ - (2008-04-29 14:24:41)   [3059]

postgresql performans ayarlamalarý yapmaya çalýþýrken postgresql i yeniden baþlatýrken aþaðýdaki gibi hata alýyor olabilirsiniz.

Apr 28 14:27:54 www postgres[47361]: [1-1] OLUMCUL: shared memory segment olusturulamiyor: Invalid argument
Apr 28 14:27:54 www postgres[47361]: [1-2] AYRINTI:Basarisiz sistem cagrisi: shmget(key=5432001, size=140214272, 03600).
Apr 28 14:27:54 www postgres[47361]: [1-3] IPUCU:Bu hata, PostgreSQL'in shared memory isteginin kernelin SHMMAX parametresinde verilen degerinin aildigini gosteriyor.
Apr 28 14:27:54 www postgres[47361]: [1-4] Istenilen bellek boyutunu durebilir veya kerneli daha buyuk bir SHMMAX parametresi ile yeniden konfigure edebilirsiniz.
Apr 28 14:27:54 www postgres[47361]: [1-5] Istenilen bellek boyutunu (su an 140214272 bayt) dusurmek icin PostgreSQL'in shared_buffers parametresini (su an 16384) ve/veya
Apr 28 14:27:54 www postgres[47361]: [1-6] max_connections (su an 100) parametrelerini dusurebilirsiniz.
Apr 28 14:27:54 www postgres[47361]: [1-7] Eger istenilen bellek boyutu zaten kucuk ise, kernelin SHMMIN parametresinden dusuk olabilir, bu durumda istenilen bellek
Apr 28 14:27:54 www postgres[47361]: [1-8] boyutunu SHMMIN degerine kadar buyutmeniz lazim veya SHMMIN degerini dusurmeniz lazmi. PostgreSQL dokumanlarinda shared memory
Apr 28 14:27:54 www postgres[47361]: [1-9] konfigurasyonu hakkinda daha fazla bilgi bulabilirsiniz.

kern.ipc.shmmax=1073741824

degerini hemen hemen 2 katina cikarttiginizda sorun duzlecektir.

kern.ipc.shmmax=2073741824

nedeni: shared_buffer komple shared memory
ancak shared memory icin verdiginiz deger sistemde calisan diger uygulamalarin da kullandigi ortak memory kapasitesini asmamali. Ortak kullanilan bir shared memory oldugundan postgresql’e bu kadarlik alan icerisinde kendine yeteni kadar kullan denilmelidir.

shmax degeri 1GB olunca en fazla 440MB tanimlanabiliyor...

Ornek:
max_connections = 100 # (change requires restart)
# Note: Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction). You might
# also need to raise shared_buffers to support more connections.
shared_buffers = 512MB # min 128kB or max_connections*16kB

Ismail Yenigul’e tesekkurler...

Arkadaşıma gönder , Ana Sayfa