web-dev-qa-db-ja.com

Windows 10 Pro 64ビットマシンでキャッシュを設定する方法

Mongodを実行すると、次の警告が表示されます。このマシンのファイルシステムキャッシュは、合計メモリの40%を超えるように構成されています。これにより、メモリの負荷が増加し、パフォーマンスが低下する可能性があります。これは、Windows 10 Pro 64ビットマシン上にあります。ラムは16ギグあります。私は225ギグのSSDドライブc:と2つの1テラバイトドライブd:とe:を持っています

仮想メモリを次のように設定しました。

drive     initial size       max
c:         800               1000
d:         400                800
e:         400                800

it says space available is 134538 MB

Mogodリファレンスは次のように述べています:

Check the Windows file system cache limit. Having a too high or unbound 
upper limit can impact performance. Specifically, having a file system cache 
that uses 40% or more of the total memory can lead to increased memory 
pressure and poor performance. Use SetSystemFileCacheSize to limit the 
amount of memory that the file system cache can use.

誰かがそれを行う方法についての指示を提供できますか? @Md Haidar ALi Khanからの回答が機能しない

1
DCR

SetSystemFileCacheSize here を設定する無料のツールを見つけましたRAMの16ギグで1024 4096に設定すると、mongod警告が消えました

1
DCR

@ DCR、MongoDB 3.6が正式にリリースされた2017年12月5日付け。テスト環境用にMongoDB 3.6私の環境で。 MongoDB 3.6で私が気付いた2つの新しいものがあります。 mongodサーバーを起動するとき

1)このマシンのファイルシステムキャッシュは、合計メモリの40%を超えるように構成されています

2)MongoDB 3.6以降、mongodはデフォルトでlocalhost(127.0.0.1)にバインドします。 Default Bind to Localhost を参照してください。

私の環境でもテストシステムのセットアップ構成は

1)windows 10 enterprise with 64-bit

2)HDD is 500 GB

3)MongoDB version is 3.6

4)RAM is 4 GB

注:--wiredTigerCacheSizeGBは、WiredTiger内部キャッシュのサイズを制限します。オペレーティングシステムは、ファイルシステムキャッシュに使用可能な空きメモリを使用します。これにより、圧縮されたMongoDBデータファイルをメモリに保持できます。さらに、オペレーティングシステムは、ファイルシステムブロックとファイルシステムキャッシュをバッファリングするために、任意の空きRAM=を使用します。

RAMの追加消費者に対応するには、WiredTigerの内部キャッシュサイズを減らす必要がある場合があります。

編集後

@DCR、私の環境でも、mongodサーバーを実行した後に同じメッセージが表示されます。 wiredTigerストレージエンジンからのキャッシュ警告メッセージにすぎません。以下のスクリーンショットもアップロードしています

enter image description here

MongoDB jira Blogに従ってWiredTigerのWindows SystemFileCacheSizeに関する警告を追加 Windowsの一部のMongoDBユーザーはdirect_io Windowsのファイルシステムキャッシュはデフォルトで貪欲であり、割り当てられたメモリのコンテンツがスワップアウトされる可能性があるため、ひどいパフォーマンスにつながります。 Windowsは SetSystemFileCacheSize APIを提供し、ファイルシステムキャッシュで使用できるメモリの量を制限できます。設定はコンピューター全体でグローバルです。 APIを呼び出すコードをMongoDBに追加して、ファイルシステムキャッシュが使用できるメモリの量を使用可能なメモリの割合に制限することができます。呼び出しは、キャッシュ管理レイヤーを備えたストレージエンジンに対してのみ行う必要があります。 MMAPは、使用可能なすべてのメモリを使用するファイルシステムキャッシュに依存しています。使用可能なメモリの量を制限すると、MMAPユーザーに悪影響を及ぼします。

MongoDB 3.0以降では、64ビットビルドでWiredTigerストレージエンジンを使用できます。バージョン3.2で変更:WiredTigerストレージエンジンはデフォルトのストレージエンジンで始まり、MongoDB 3.2

さらにあなたの参照 ここここ および WiredTigerストレージエンジン

0