プロセスがキャッシュまたはバッファ内にあるか確認する

プロセスがキャッシュまたはバッファ内にあるか確認する

私は 4GB の RAM を搭載した単一のサーバーで Web と DB を実行しています。free -m を使用してメモリをチェックすると、メモリのほとんどがキャッシュされていることがわかります。

free -m
              total        used        free      shared  buff/cache   available
Mem:           3534        1507         973          25        1052        1676
Swap:          8191           0        8191

空きメモリをクリアするために毎回 sync コマンドを使用する必要があるため、どのプロセスがキャッシュから提供されているか、またはどのプロセスがキャッシュを取得しているかを確認する方法はありますか。

答え1

一般的にはないそれを行う。空きメモリは未使用のメモリです、無駄なリソースです。カーネルは自分が何をしているかを知っています。メモリをより有効に活用する方法がない限り、メモリを I/O バッファまたはディスク キャッシュに使用します。プロセスの実行にさらにメモリが必要になると、カーネルは自動的にメモリを割り当てます。

あなたができない限り測定スワップ領域とメモリの使用のバランスが崩れた場合は、メモリ割り当てパラメータに干渉しないでください。

関連情報