İ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