10

MongoDB シェルを起動すると、次の警告が表示されます。

3 月 20 日水曜日 22:40:49.850 [initandlisten]

Wed Mar 20 22:40:49.850 [initandlisten] ** 警告: /data の先読みは 2048KB に設定されています

Wed Mar 20 22:40:49.850 [initandlisten] ** 256KB (512 セクター) 以下に設定することをお勧めします

3 月 20 日水曜日 22:40:49.850 [initandlisten] ** http://dochub.mongodb.org/core/readahead

私は使用しました:

df/データ

データがマウントされ、その後使用されるドライブの場所を見つけるには:

sudo blockdev --setra 256 /dev/mapper/vg0-data

指定された 256 に先読みを設定します。これが機能することを確認しました:

sudo blockdev --getra /dev/mapper/vg0-data

ただし、シェルの起動時に同じエラーが発生しますか?

アップデート

mongodb サーバー インスタンスを再起動しましたが、まだこのエラーが発生します。

更新 2

私の Linux サーバーは AWS でホストされているため、仮想ボリュームを使用しています。これらすべてのボリュームの先読み値を 256 に設定しましたが、それでもこのエラーが発生します。

更新 3

これは、MongoDB のプライマリ インスタンスの blockdev --report です。

RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096          0      8589934592   /dev/xvda1
rw   256   512  4096          0     10737418240   /dev/xvdh8
rw   256   512  4096          0     10737418240   /dev/xvdh7
rw   256   512  4096          0     10737418240   /dev/xvdh6
rw   256   512  4096          0     10737418240   /dev/xvdh5
rw   256   512  4096          0     10737418240   /dev/xvdh4
rw   256   512  4096          0     10737418240   /dev/xvdh3
rw   256   512  4096          0     10737418240   /dev/xvdh2
rw   256   512  4096          0     10737418240   /dev/xvdh1
rw  4096   512  4096          0     42944430080   /dev/md127
rw  4096   512  4096          0     38646317056   /dev/dm-0
rw  4096   512  4096          0      2143289344   /dev/dm-1
rw  4096   512  4096          0      2143289344   /dev/dm-2

これは、MongoDB のセカンダリ インスタンスの blockdev --report です。

RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096          0      8589934592   /dev/xvda1
rw   256   512  4096          0     10737418240   /dev/xvdh8
rw   256   512  4096          0     10737418240   /dev/xvdh7
rw   256   512  4096          0     10737418240   /dev/xvdh6
rw   256   512  4096          0     10737418240   /dev/xvdh5
rw   256   512  4096          0     10737418240   /dev/xvdh4
rw   256   512  4096          0     10737418240   /dev/xvdh3
rw   256   512  4096          0     10737418240   /dev/xvdh2
rw   256   512  4096          0     10737418240   /dev/xvdh1
rw  4096   512  4096          0     42944430080   /dev/md127
rw  4096   512  4096          0     38646317056   /dev/dm-0
rw  4096   512  4096          0      2143289344   /dev/dm-1
rw  4096   512  4096          0      2143289344   /dev/dm-2

これは、mongoDB の Arbiter インスタンスの blockdev --report です。

RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096          0      8589934592   /dev/xvda1
4

5 に答える 5

8

その答えはblockdev --setra、起動スクリプトで実行することでした。システムが再起動するたびに、先読み値はデフォルトに戻ります。

私の場合、論理ドライブが何であるかを把握した後、init.d の MongoDB 起動スクリプトの「開始」セクションですべてのドライブをblockdev --report実行しました。blockdev --setra

これが、同様の問題を抱えている他の人の助けになることを願っています。

于 2013-07-22T21:20:29.747 に答える
4

内部の先読み値を 128 に変更します/usr/lib/tuned/throughput-performance/tuned.conf

centos7で

于 2016-04-06T18:54:40.783 に答える
3

データ ファイルが存在する/dataが、それらのファイルが指定されたデバイスに存在しない場合、適切な先読みをオンに設定し/dev/mapper/vg0-dataても効果はありません。

このblockdevコマンドは、/データがマウントされているデバイスに対して実行する必要があります。sudo blockdev --setra 256 /dev/<dev where data lives>

于 2013-05-23T14:21:20.973 に答える