SAPアプリケーションをホストするサーバーには1TBのメモリがあります。
アプリケーションの実行中に表示されるメモリ使用量はtop
約700 GBです。アプリケーションが停止すると、表示されるメモリ使用量はtop
10GBに低下します。サーバーを再起動すると、メモリ使用量は1 GBになります。
- 実行中のアプリケーションがないために
top
10 GBを使用したと表示されますが、再起動すると9 GBが追加されたのはなぜですか? - 再起動せずに9GBを取得できますか?
出力free -g
:
free -g
total used free shared buffers cached
Mem: 1009 567 442 0 0 152
-/+ buffers/cache: 415 594
Swap: 1 0 1
ベストアンサー1
Linuxは他のオペレーティングシステムとは異なるRAMを使用します。
未使用のRAMをそこに置く代わりに、Linuxは必要なデータを保存します。考えるRAMで使用できます。すべてのアプリケーション、ファイルなどをここにキャッシュできます。
したがって、Linux RAMの使用量は、アプリケーションの実行に使用される量よりも高くなります。この追加使用量は、他の項目によって訴えられるようにバッファリングされます。free -h
2行目を実行使用される「使用された」メモリの多くは実際にはキャッシュされていることを伝えます。
すべてのメモリがキャッシュされ、プログラムにメモリが必要な場合は、プログラムを受け入れるのに十分なメモリがキャッシュから削除されます。