2013-02-11 129 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 $$