İsmail yenigül arkadaşımızın hazırlamış olduğu postgresql de performans
konulu dökümandan yararlanarak alt yapısı 

 

# egrep CPU /var/run/dmesg.boot 

CPU: Intel(R) Xeon(TM) CPU 3.20GHz (3189.40-MHz 686-class CPU)

  Hyperthreading: 2 logical CPUs

cpu0: <ACPI CPU> on acpi0

# top -S

 

last pid: 61371;  load averages:  0.62,  0.61,  0.56
up 0+19:49:52  10:28:12

189 processes: 4 running, 129 sleeping, 56 waiting

CPU states: 16.7% user,  0.0% nice, 10.9% system,  1.6% interrupt, 70.8%
idle

Mem: 209M Active, 2599M Inact, 219M Wired, 20K Cache, 112M Buf, 798M Free

Swap: 6144M Total, 6144M Free

 

 

Şeklinde olan bir sunucu üzerinde sysctl.conf dosyasına 

 

kern.ipc.shmmax=1073741824

#shmall = shmmax / 4096 (page size)

kern.ipc.shmall=262144

kern.ipc.semmsl=512

kern.ipc.semmap=256

 

 

parametrelerini /boot/loader.conf dosyasına 

 

kern.ipc.semmni=512

kern.ipc.semmns=1024

kern.ipc.semmnu=512

kern.maxusers=512

 

parametrelerini girdim. postgresql.conf dosyasında ise aşağıdaki
değişiklikleri yaptım.

 

max_connections = 100

shared_buffers = 512MB

work_mem = 5MB   

effective_cache_size = 1024MB

 

sunucuyu yeniden başlattıktan sonra postgresql başlangıçta çalışmadı ve
ctrl-c ile başlatılmasını durdurdum ve sunucunun açılmasını sağladım. Daha
sonradan elle çalıştırmaya çalıştığımda aşağıdaki hatayı aldım. Bu hata
ctrl-c ile kesmeden öncede verilen hatanın aynısı. Sorun nedir ve nasıl
çözebilirim? Değerleri nasıl değiştirerek uygun bir değerler dengesi
sağlayabilirim...

 

Apr 28 14:27:54 www postgres[47361]: [1-1] ÖLÜMCÜL:  shared memory segment
oluşturulamıyor: Invalid argument

Apr 28 14:27:54 www postgres[47361]: [1-2] AYRINTI:Başarısız sistem çağrısı:
shmget(key=5432001, size=140214272, 03600).

Apr 28 14:27:54 www postgres[47361]: [1-3] İPUCU:Bu hata, PostgreSQL'in
shared memory isteğinin kernelin SHMMAX parametresinde verilen değerinin
aıldığını gösteriyor.

Apr 28 14:27:54 www postgres[47361]: [1-4] İstenilen bellek boyutunu
dürebilir veya kerneli daha büyük bir SHMMAX parametresi ile yeniden
konfigure edebilirsiniz.

Apr 28 14:27:54 www postgres[47361]: [1-5] İstenilen bellek boyutunu (şu an
140214272 bayt) düşürmek için PostgreSQL'in shared_buffers parametresini (şu
an 16384) ve/veya

Apr 28 14:27:54 www postgres[47361]: [1-6] max_connections (şu an 100)
parametrelerini düşürebilirsiniz.

Apr 28 14:27:54 www postgres[47361]: [1-7] Eğer istenilen bellek boyutu
zaten küçük ise, kernelin SHMMIN parametresinden düşük olabilir, bu durumda
istenilen bellek

Apr 28 14:27:54 www postgres[47361]: [1-8] boyutunu SHMMIN değerine kadar
büyütmeniz lazım veya SHMMIN değerini düşürmeniz lazmı. PostgreSQL
dokümanlarında shared memory

Apr 28 14:27:54 www postgres[47361]: [1-9] konfigurasyonu hakkında daha
fazla bilgi bulabilirsiniz.

 

İyi çalışmalar...

 

Mesut GÜLNAZ

Cevap