質問: こんばんは、現在Javaのアプリを 勉強するべく作っております。 CentS7でtopコマンドを打ちました。 buff/cacheの項目が800MB程度になっており Memのfreeが50MB程度でした。 その状態でJavaのアプリケーション起動させると swapを使い始めました。 最終的にはMemのfreeが3MBぐらいで swapも割り当てている100MBをすべて使い freeが0となっておりました。 ですが buff/cacheの項目が790MBので 余りがあるようでした。 その時点でOSが 重くなり、再度topをたたくと 上とほとんど同じ結果でした。 自分の考えでは、物理メモリが足りなくなると bufferとchacheの使用率が減り Memのfreeが増え、アプリケーションが使う と思っておりました。 buffer cacheを保持したまま 物理メモリやswapを使いつぶすことは どんな原因があるのでしょうか?
回答: アプリケーションのメモリ要求がRAMのサイズを超過したことによってswapが起こっているのではないでしょうか。