
2 台の異なるマシン (CentOS 7) で巨大なメモリマップ ファイルを使用するアプリケーションを実行しています。
同じプログラムを 2 台の異なるマシンで実行すると、パフォーマンスが大幅に異なることがわかりました。
その理由は、ほとんどのページがディスクにスワップアウトされるため、1 台のマシンが過剰な量のディスク I/O を使用することです。
コマンドを実行すると top
、低速マシンでは共有メモリ領域のサイズはわずか数メガバイトです。高速マシンでは共有メモリ領域のサイズは約 6 GB で、ほとんどのデータが OS ページ キャッシュにキャッシュされていることを意味します。
メモリマップファイル全体をキャッシュするのに十分な (16 GB 以上) 空きメモリ領域があることを確認しました。
この問題について誰かアイデアをくれませんか?