如何确保Ruby在调用后释放Unix进程使用的内存?

时间:2016-03-23 18:20:20

标签: ruby unix memory memory-management

如果我有一个从Ruby调用的可执行文件,它会占用大量内存,例如:

puts `ls -lR /`

流程结束后会发生什么? Unix收集进程使用的内存吗?或者有办法强迫Ruby这样做吗?

1 个答案:

答案 0 :(得分:0)

* nix将在正常处理过程中执行此操作,就像您从命令行运行它一样。

该命令的输出将在Ruby的内存空间中,垃圾收集将在不再需要时进行处理。

那就是说,作为一名程序员,我们应该认识到我们所做的事情何时不具备可扩展性或高效性,并找到一种可扩展且高效的方法。 People" DOS"他们自己的系统经常不考虑他们正在做什么。例如,不要使用递归ls使用Find.find,而是使用更可控和可扩展的代码片段。