Tag: 内存分析

Ruby的GC.stat的字段是什么意思?

我正在使用GC.stat来分析我们的Rails应用程序中的内存使用情况。 GC.stat返回带有以下键的哈希: :count :heap_used :heap_length :heap_increment :heap_live_num :heap_free_num :heap_final_num 有人知道这些值究竟是什么意思吗? 在Ruby源代码( gc.c )中没有关于它们的文档,只是注释:“哈希的内容是实现定义的,将来可能会更改。” 其中一些字段从上下文中有意义,例如count是Ruby分配的堆数。 但是heap_final_num是heap_final_num ? 什么是heap_increment ? heap_length是最小堆大小吗? 我正在摆弄RUBY_MIN_HEAP_SLOTS , RUBY_FREE_MIN和RUBY_GC_MALLOC_LIMIT ,但更改这些env变量似乎没有任何影响:heap_count或:heap_length 。 我希望:heap_count如果我从根本上增加最小堆插槽, :heap_count会下降。 所以我真的想知道所有GC.stat值代表什么! 我正在使用Ruby 1.9.3。