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腳本等待一個事件,並且在任何給定的時間有幾個它運行的實例)。