RAM使用量が90%を超えると、通知を受けるように携帯電話にアラームを設定しました。また、すべてのメモリ、CPU、RAMなどを監視するスクリプトを作成しました。
RAMの使用量を減らすには?キャッシュを消去するスクリプトもあります。ただし、ライブサービスに影響を与えるため、常に実行したり、cronを設定したりすることはできません。
次のスクリプトがあります。
memory_alarm=`/usr/bin/free -m|grep Mem|awk '{print $3/$2 * 100.0}'|cut -d\. -f1`
topコマンドを実行すると66%が表示され、数秒後にRAM使用量が95%であるという警告が表示されます。
答え1
あなたは持っていません。ページキャッシュfree
考慮されます(出力の「キャッシュ」列の下)。ディスクに書き込まれたデータはキャッシュに保存され、ファイルが削除/交換されたか、使用可能なメモリが不足し、他のプロセスがより多くのメモリを要求するとフラッシュされます。
$ free
total used free shared buffers cached
Mem: 2038308 1890180 148128 504 25072 489884
-/+ buffers/cache: 1375224 663084
Swap: 8386556 7440 8379116
$ /usr/bin/free -m|grep Mem|awk '{print $3/$2 * 100.0}'|cut -d\. -f1
92
$ /usr/bin/free -m|grep Mem|awk '{print ($3-$7)/$2 * 100.0}'|cut -d\. -f1
68
答え2
これは非常に古い答えですが、常に見ています。 @Neuroは、LinuxがディスクI / Oをキャッシュするため、RAM使用量が(ほとんど全く)問題にならないという点で正しいです。 (ディスクI / OはRAMアクセスに比べて非常に遅く、Linuxは再び必要になることを望んでディスクから読み取られたほとんどすべてのセクタをキャッシュします...)したがって、高いRAM使用量は基本的には関係ありません。
言及されていないのは、主な(またはハード)エラー(ディスクI / Oが必要なエラー)が問題ですが、継続的で過度の場合にのみ問題になることです。マイナー(またはソフト)エラーはほとんど問題ありません。持続性と過剰とは何ですか?それが問題だ。