32GBのRAMがあります。 SSDおよび非SSDドライブ。
SSDではなくドライブにLinuxをインストールしましたが、/ varディレクトリはSSDを好み、メモリが多くスワップスペースを作成しませんでした。
物理メモリ+スワップ領域=仮想メモリであることがわかります。私はLinuxに巨大なページとメモリマッピングファイル機能があることを知っています。メモリマッピングファイルは仮想メモリを使用しますが、ファイル処理戦略がわかりません。物理メモリが高くてもスワップするとメリットはありますか?
mysqlデータベースにインポートするために3GBのgzip圧縮ファイルを処理する予定です。私はアプリケーションcppブーストライブラリgzipメモリマッピングストリームとmysqlネイティブクライアントライブラリを作成します。
- 私の最初の目標は、ファイルの違いを検出することです。を使用したい
ON DUPLICATE KEY UPDATE attempt_count = attempt_count + 1
。 - また、全文検索機能が必要で、文字列の長さなど、いくつかの条件でフィルタリングする必要があります。
- 管理インターフェイスを統合する必要があります。
これに最適な構成は何ですか?
答え1
スワッピングが必要な状況には、休止状態、RAMの枯渇を防ぐためにRAMからのメモリスワッピングなどがあります。
したがって、ワークセットを保持するのに十分なRAMがある場合は、休止状態モードを交換するだけです。ワークセットが非常に大きい場合は、交換が必要な場合があります。しかし、交換が良いアイデアかどうかは、作業モデルによって異なります。一部のモードではスワップジッタが発生しますが、一部のモードではありません。
メモリマッピングファイルと実行ファイルを追加します。カーネルは必要なものだけをRAMにロードし、必要ないものは捨てます。ファイルはバックアップストア(スワップではない)なので、スワップは必要ありません。