2017-08-21 5 views
0

私のサーバには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 

それは正常ですか?これは、私がジョインで実行する複雑な選択に影響する可能性がありますか?

+0

を、私はそれがキャッシュの目的のためにRAMにできるだけ多くのデータを保持していますね。 –

+1

「すべて」のメモリはどこで使用されますか? 'available = 11112'は、利用可能な16GBのうちまだ11GBがあることを意味します。 –

+2

カーネルのfsキャッシュの使用法を "使用法"と混同しています。カーネルはすべてのスペアメモリを取り込み、ファイルシステムからすべてのものをキャッシュしますが、2番目のものはさらにメモリを要求し、カーネルはキャッシュの一部をダンプし、そのメモリを要求しているプロセスに渡します。これは完全に正常です。 –

答えて

2

これは間違っています。

buff/cacheの値は、RAMがキャッシュに使用されていることを示しますが、必要に応じてアプリケーションでは使用できません。

は、詳細な説明についてはこちらをご覧ください:http://www.linuxatemyram.com/

+0

権利。フリーRAMは無駄なRAMです。できるだけ多くのRAMを常に使用したいと思っています。 –

関連する問題