
システム上で 2 つのアプリケーションを実行しています。
2 つのアプリケーションを並行して実行すると、数分以内にメモリが消費されます。
[以下のデータは実際のものではありません。説明のためだけです]
初期状態..
total used free shared buffers cached
Mem: 3926 1193 2732 0 64 626
-/+ buffers/cache: 502 3423
Swap: 3990 0 3990
メモリフル状態
total used free shared buffers cached
Mem: 3926 1193 732 0 64 2626
-/+ buffers/cache: 502 3423
Swap: 3990 0 3990
私の最初の質問:-
1) この状態では、画面がハングし、メモリ不足エラーが発生します。しかし、理解している限りでは、まだ 3423 MB の空きメモリが使用可能です。このエラーが発生する理由について、ヒントを教えていただけますか?
どのプログラムが犯人であるかを見つけるために、プログラムを一つずつ終了させようとしました。
プログラム 1 を終了すると、100 MB のキャッシュ メモリが解放され、空きメモリに移動します。
total used free shared buffers cached
Mem: 3926 1193 832 0 64 2526
-/+ buffers/cache: 502 3423
Swap: 3990 0 3990
しかし、プログラム2を強制終了すると、残りの1900MBのキャッシュメモリが解放されます。次のようになります。
total used free shared buffers cached
Mem: 3926 1193 2732 0 64 626
-/+ buffers/cache: 502 3423
Swap: 3990 0 3990
質問2 :-
プログラム 2 はプログラム 1 よりも多くのリソースを消費していますか。キャッシュ メモリの使用量は、より多くのメモリを使用していることを示していますか。