Docker'daki postgres veritabanı için / dev / shm boyut önerisi
Docker konteynerinde postgresql 11.7 veritabanı var.
Biz bir sorunu vardı "pq: could not resize shared memory segment "/PostgreSQL.XXX" to XXX bytes: No space left on device", tarif burada .
Çözüm yardımcı oldu, artık bir sorunumuz yok. Ancak Postgres ile docker container için shm_size için hangi boyutu ayarlamalıyız?
Herhangi bir öneri var mı? Shm_size için 'optimum boyutu' nasıl hesaplayabiliriz?
Yanıtlar
Paylaşılan hafızayı kullanan iki şey vardır:
Sunucu başlangıcında ayrılan paylaşılan bellek. Bu birkaç bölümden oluşur, ancak aslanın payı
shared_buffersveri önbelleğidir.Yani bundan daha fazla paylaşılan hafızaya sahip olmalısınız.
Paralel çalışanlar arasında iletişim kurmak için paralel sorgu tarafından ayrılan paylaşılan bellek bölümleri.
Boyutları aktarılan verilere bağlıdır ve bunlardan birkaçı tahsis edilebilir, bu nedenle kontrol edilmesi daha zor bir kaynaktır.
Bellek kısıtlı bir sistemde, paralel sorguyu devre dışı bırakmanızı öneririm. Sorguları daha hızlı hale getirir, ancak sorgu başına daha fazla kaynak kullanır, böylece genel verim iyileşmez. Tek bir sorguya çok fazla kaynak atmak istiyorsanız iyidir.
Paralel sorguyu devre dışı bırakmak max_parallel_workersiçin 0'a ayarlayın .