1

我正在尝试缩小我的应用程序的一部分,所以我使用 GC::Profiler 来判断这个或那个是否确实缩小了任何东西,但我得到了一个我无法解释的结果:

Index    Invoke Time(sec)       Use Size(byte)     Total Size(byte)         Total Object                    GC Time(ms)
1               2.409             13943640             15840440               396011        36.48399999999973886133
.
.
102             7.074             30720080             30525000               763125        30.90900000000029734792
103             7.359             31267800             30525000               763125        34.99699999999972277465
.
.
1664          461.066            739610760             30525000               763125        32.36799999996264887159

根据文档,这似乎是说当前使用了超过 2000% 的已分配堆......?并且表明我的内存使用量正在增长,除了总堆大小显然不是......

我的任务是:我正在将一个大的传入 HTTP 流直接读取到文件中,然后通过延迟评估一次读取一行文件,对每一行执行转换,然后将其写入文件。

关于发生了什么的任何想法?

编辑:Mac 上的 Ruby 2.0

编辑 2:ps aux报告 2936436 VSS 和 455836 RSS

4

0 回答 0