2013-08-30 40 views
11

アクティブメモリとインアクティブメモリとは何ですか?私は、Linuxマシン上でコマンドvmstat -aを実行していると私は、次のような出力になっています:アクティブメモリとインアクティブメモリとは

vmstat -a 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ 
r b swpd free inact active si so bi bo in cs us sy id wa st 
1 0 249900 4801880 2649428 8246152 0 0 42 31 0 0 4 0 95 0 0 

をしかし、私は正確にアクティブおよび非アクティブなメモリが何であるかを取得していないです...あなたは手の込んだていただけますか?

+3

私は、これはプログラミングの問題であるとは思わないです、 本当に。 – unwind

+2

本当ですか? 8GBの実動システムでSOLRを実行し、実動サーバーを担当してください。次に、アクティブ/非アクティブメモリがどのように動作するのか、それが何を引き起こす可能性があるのか​​を理解する必要があります(SOLRの場合は例外メモリ不足)。 OSの基本を理解することは、ソフトウェア開発の重要な部分です。あなたはソフトウェアのパターンでマスターすることができます、特定のプラットフォームの知識の欠如は、あなたが成功した解決策のためのチャンスなしにプレーンジュニアに命名します。 – OSP

答えて

22

"使用済み"メモリ、 "非アクティブ"、 "アクティブ"の2つの状態があります。

アクティブメモリは、特定のプロセスで使用されているメモリです。
無効なメモリは、もはや実行されていないプロセスに割り当てられたメモリです。システムは、このメモリは自動的に非アクティブに大量のメモリを持っている場合は、することができますまだ、消えなった再起動すると、あなたがこの非アクティブなメモリをクリアする必要はありませんメモリ使用/proc/meminfoではなくvmstat -a

cat /proc/meminfo 

を参照するには

次のコマンドを使用します。

free && sync && echo 3 > /proc/sys/vm/drop_caches && echo "" && free 
+1

あなたは私の一日の人を救う。私はこのソリューションを何週間も探し続けてきました。私はサーバを最適化する方法をすべて試しましたが、それは私に頭痛を引き起こしている非アクティブなメモリです。非アクティブメモリを解放する方法について、このコマンドをありがとうございました。今私はほとんどの非アクティブなメモリを回復します。 – jaypabs

+0

@jaypabsようこそ。 – Gangadhar

+2

非アクティブメモリによってどのような問題が発生する可能性がありますか? OSは必要に応じてそれらを必要とするプロセスに割り当てるわけではありません。なぜなら、非アクティブなメモリを効果的に空きメモリと同じにするのですか? – justhalf

0

非アクティブメモリ - キャッシュまたは物理メモリにマップされていないとアクティブはその逆

レポートのvmstat仮想メモリの統計