2017-10-11 18 views
1

私は組み込みシステム上で一連の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スクリプトはイベントを待っており、ある時点で複数のインスタンスが実行されているためです)。

答えて

0

多分それはできません。 bash自体は非常に複雑で、そのメモリ使用量は実行しているスクリプトによって単純に変更されないかもしれません。

関連する問題