
DBMSと仮想マシンを使用していくつかのベンチマークを実行しています。このコマンドを使用しています
free && sync && echo 3 > /proc/sys/vm/drop_caches && free
実行時間に対するキャッシュ/バッファの影響を最小限に抑えるために、クエリを実行する前に各ゲストと各ホストでデータがキャッシュ/バッファされている場合、クエリの応答に使用されるファイルの一部がメモリに存在する可能性があるため、クエリの実行時間は以前で実行されたクエリによって異なります。
私は次の投稿を見ました。 Linuxシステムでバッファとキャッシュを消去する方法は?
ただし、すべてのクエリの後にキャッシュの同期/削除を実行するのは少し面倒です。キャッシュを同期/削除するには、すべての仮想マシンとすべての物理サーバーが必要です。スクリプトを作成してSSHを使用してこれを実行できますが、OSがファイルをバッファリング/キャッシュするのを防ぐ方法があるかどうかを知りたいです。そうする方が簡単です。
私はすべての仮想マシン(KVMを使用)とサーバーでUbuntu 12.04を使用しています。
答え1
次のようなものを使用してくださいhttps://code.google.com/p/linux-ftools/データベースシステムで使用されているすべてのファイルをFADV_DONTNEEDとして表示しますか?