我正在尝试缩小我的应用程序的一部分,所以我使用 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