GNU/Linux >> Linux の 問題 >  >> Linux

Linux カーネルが使用するキャッシュを消去する方法

私の質問に対する John Nilsson の回答は、キャッシュをパージして問題に関連しているかどうかをテストするのに役立つかもしれません:

<ブロック引用>

sync && echo 1 > /proc/sys/vm/drop_caches

本当の違いは 1 対 3 だけだと思いますが


/proc/meminfo の内容 カーネルが RAM を使用する目的を教えてください。

/proc/sys/vm/vfs_cache_pressure を使用できます ファイルシステム関連のキャッシュに使用されるメモリをカーネルに強制的に回収させます。

アプリケーションがディスク I/O をほとんどまたはまったく行わない場合にのみ、このパラメーターを調整することでメリットが得られることに注意してください。


vfs_cache_pressure を増やすこともできます swappiness を設定するだけでなく、 0 まで .

そうすることで、カーネルがキャッシュをより速く再利用できるようになると同時に、何をページアウトするかを決定する際に、プロセスが同等またはそれ以上の優先度を与えられます。

のみ 関心のあるプロセスがディスク I/O をほとんど行わない場合は、これを行います。

ネットワーク I/O バウンド プロセスがリクエストを処理するためにスワップインする必要がある場合、それは問題であり、実際の解決策はそれを競争力の低いサーバーに配置することです。

デフォルトの swappiness で 設定すると、カーネルはほとんどの場合、FS 関連のキャッシュを実メモリに保持することを優先します。

そのため、キャッシュ プレッシャを増やす場合は、swappiness を均等に調整してください。 .


Linux
  1. Linuxでメモリキャッシュをクリアする方法

  2. Linuxデスクトップでカーネルをアップグレードする方法

  3. Linux:デバイスに使用されているデバイスドライバーを見つける方法は?

  1. Linux – Linuxカーネルで使用されているエントロピーソースは何ですか?

  2. Linux カーネルは __init 呼び出しの順序をどのように決定しますか?

  3. LINUX Mint で /boot ディレクトリをクリーンアップするには?

  1. Linuxがメインフレームに登場した経緯

  2. Linuxカーネルテストのライフサイクル

  3. Linux – Linuxカーネルシステムコールの実装を見つける方法は?