刚接触 ruby 不久,想知道 ruby 的内存是如何管理的,当它达到最大的值之后,会释放吗?有没有好的资料吗?
不会释放,请使用 oom-killer
Ruby 用的是 Gabage Collection
这篇文章介绍的是 Ruby 2.2 引进的 Incremental Garbage Collection,不过开头部分有简单介绍普通 GC
如果程序有内存泄露,导致系统内存被占满了,那 Ruby 是不会自动释放内存的,我觉得这应该是操作系统的工作。
自动 GC 和手动 GC, 当然你要确保没有内存泄漏,什么东西会标记为垃圾(可回收)这个需要注意
@mizuhashi @blacktulip @small_fish__ 谢谢
Swiss cheese
#5 楼 @hlcfan 哈哈,一张很形象的图片看得我云里雾里,求解释
@xiaobai2 和二楼说的意思一样,Ruby 不会自动释放的,但是会回收,所以只会越来越大。形象地理解起来就像一个 cheese,有很多孔。