私のサーバには16G RAMがあります。postgresql 9.6 all my ramを使用しています
effective_cache_size = 10GB
work_mem = 128MB
maintenance_work_mem = 4GB
shared_buffers = 4000MB
私のサーバはpostgresql専用です。私は大きな選択をプリフォームの手順を実行すると、私は、PostgreSQLは、サーバ上のすべてのメモリを使用し、それは私のステータスです参照してください。
[/PostgreSQL/] : free -m
total used free shared buff/cache available
Mem: 15883 291 158 4109 15433 11112
Swap: 3815 106 3709
それは正常ですか?これは、私がジョインで実行する複雑な選択に影響する可能性がありますか?
を、私はそれがキャッシュの目的のためにRAMにできるだけ多くのデータを保持していますね。 –
「すべて」のメモリはどこで使用されますか? 'available = 11112'は、利用可能な16GBのうちまだ11GBがあることを意味します。 –
カーネルのfsキャッシュの使用法を "使用法"と混同しています。カーネルはすべてのスペアメモリを取り込み、ファイルシステムからすべてのものをキャッシュしますが、2番目のものはさらにメモリを要求し、カーネルはキャッシュの一部をダンプし、そのメモリを要求しているプロセスに渡します。これは完全に正常です。 –