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脚本等待一个事件,并且在任何给定的时间有几个它运行的实例)。