2013-02-11 122 views
5

bash是否運行垃圾收集器?它可以通過一些命令行選項來控制嗎?我在網上找不到任何關於此的內容。bash中的垃圾收集

我有一個bash腳本,運行幾天後其內存使用量增加。我想知道內存在哪裏。

+0

我很確定它沒有,但我很好奇你爲什麼問。 – 2013-02-11 05:22:36

+0

bash需要收集什麼?它運行其他進程,並在完成時收穫它們。你設定的變量是你的責任。 – vanza 2013-02-11 05:23:27

+0

@vanza:那麼應該怎樣清理不需要的變量? – sashang 2013-02-11 05:35:59

回答

6

Bash不會像這樣運行垃圾回收器。由於它沒有引用的概念,因此無需查找沒有引用的數據。不過,它確實釋放了不再使用的內存。

下面是在聲明和覆蓋大型變量之前和之後的內存使用情況的簡單演示。內存使用率再上升然後再下降:

ps -o rss -p $$ 
var=$(printf "%s\n" {1..100000}) 
ps -o rss -p $$ 
var="smallstring" 
ps -o rss -p $$