
私は 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 バッファまたはディスク キャッシュに使用します。プロセスの実行にさらにメモリが必要になると、カーネルは自動的にメモリを割り当てます。
あなたができない限り測定スワップ領域とメモリの使用のバランスが崩れた場合は、メモリ割り当てパラメータに干渉しないでください。