私は組み込みシステム上で一連のbashスクリプトを実行しています。 bashスクリプトには他のものも含まれていますが、そうしたときにはメモリ使用量が飛躍的に増えるようです。したがって、たとえば、私が持っている:bashでメモリ使用量を追跡する方法
showmem() {
echo "[$1] $(ps up $$ | tail -1 | awk '{print $6}')"
}
showmem "about to include"
. foo.sh
showmem "done include"
を私は出力
[about to include] 3356
[done include] 5244
値はKBであることに注意してくださいを取得し...だから、私はメモリが起こっている場所を把握する必要があります。最初は私がそれが含まれているファイルの実際のサイズ(ファイルは他のファイルなどを含む)だと思ったが、私は今すべてのファイルサイズを合計しており、重要ではない。また、出力のサイズはenv
もそれほど大きくならないので、膨大な環境ではなく、プロセスツリーにはサブプロセスが表示されません。
どのようなメモリが使用されているかを教えてくれるツールはありますか? bashスクリプトのどこかで未使用のメモリをフラッシュする方法はありますか?
(注:これは重要です。この特定のbashスクリプトはイベントを待っており、ある時点で複数のインスタンスが実行されているためです)。