1

「free -m -t」コマンドを使用して Linux システムを監視し、

             total       used       free     shared    buffers     cached

Mem:         64334      64120        213          0        701      33216

-/+ buffers/cache:      30202      34131

Swap:          996          0        996

Total:       65330      64120       1209

これは、ユーザー プロセスによって 30 GB の物理メモリが使用されていることを意味します。

ただし、top コマンドを使用してメモリ使用量で並べ替えると、すべてのアプリケーション プロセスで 3 ~ 4GB のメモリしか使用されません。

この矛盾はなぜ起こるのでしょうか?

4

1 に答える 1

1

私が理解しているように、topが使用済みとして表示するメモリの量には、もう実行されていない古いプロセスからのコールドメモリが含まれます。これは、上記のプロセスを再起動した場合でも、必要なデータがメモリ内に残っている可能性があるためです。これにより、システムは、代わりに、または常にディスクからデータをリロードする代わりに、プロセスをより高速かつ効率的に開始できます。

または、要するに、Linuxは通常、メモリ内のコールドデータをできるだけ遅く解放します。

それがそれをクリアすることを願っています:)

于 2012-09-19T06:29:39.253 に答える