Evet, paylaşılan tamponlar postgres önbelleği hem temizlemek mümkündür VE OS önbelleği. Aşağıdaki çözüm Windows içindir ... diğerleri zaten linux çözümünü vermişlerdir.
Birçok kişinin söylediği gibi, paylaşılan arabellekleri temizlemek için Postgres'i yeniden başlatmanız yeterlidir (sunucuyu yeniden başlatmanıza gerek yoktur). Ancak bunu yapmak, işletim sistemi önbelleğini temizlemeyecektir.
Postgres tarafından kullanılan işletim sistemi önbelleğini temizlemek için, hizmeti durdurduktan sonra , mükemmel Sysinternals Suite'ten mükemmel RamMap'i ( https://technet.microsoft.com/en-us/sysinternals/rammap ) kullanın . RamMap'i çalıştırdıktan sonra, ana menüden "Boşalt" -> "Bekleme Listesini Boşalt" seçeneğine tıklayın.
Postgres'i yeniden başlatın ve şimdi bir sonraki sorgunuzun hiç önbellek olmadığı için çok yavaş olacağını göreceksiniz.
RamMap'i Postgres'i kapatmadan da çalıştırabilirsiniz ve muhtemelen istediğiniz "önbellek yok" sonuçlarına sahip olursunuz, çünkü insanların daha önce söylediği gibi, paylaşılan tamponlar genellikle işletim sistemi önbelleğine kıyasla çok az etki sağlar. Ancak güvenilir bir test için, emin olmak için işletim sistemi önbelleğini temizlemeden önce postgres'i durdurmayı tercih ederim.
Not: AFAIK, RamMap kullanırken "Bekleme listesi" dışındaki diğer şeyleri temizlemenizi önermiyorum, çünkü diğer veriler bir şekilde kullanılıyor ve bunu yaparsanız potansiyel olarak sorunlara / kayıp verilere neden olabilirsiniz. Belleği yalnızca postgres dosyaları tarafından değil, diğer uygulamalar ve işletim sistemleri tarafından da temizlediğinizi unutmayın.
Saygılarımızla, Thiago L.