首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置文件内存-部分rails项目的性能

配置文件内存-部分rails项目的性能
EN

Stack Overflow用户
提问于 2010-03-29 22:45:05
回答 2查看 911关注 0票数 0

我想测试我的rails项目的一个重要库类的配置文件使用情况。它使用ActiveRecord,所以我需要所有的rails依赖项来分析它。

据我所知,我需要一个打补丁的ruby (rubygc),这样脚本/配置文件和脚本/基准就可以跟踪内存使用情况。我尝试使用this official guide来修补ruby 1.8.6 (p399)和1.8.7 (p248)的源代码,但都失败了,并显示以下消息:

代码语言:javascript
复制
patching file gc.c
Hunk #2 succeeded at 50 with fuzz 2 (offset 2 lines).
Hunk #3 succeeded at 87 with fuzz 2 (offset 6 lines).
Hunk #4 succeeded at 153 with fuzz 1 (offset 45 lines).
Hunk #5 succeeded at 409 with fuzz 2 (offset 274 lines).
Hunk #6 FAILED at 462.
Hunk #7 FAILED at 506.
Hunk #8 FAILED at 520.
Hunk #9 FAILED at 745.
Hunk #10 FAILED at 754.
Hunk #11 FAILED at 923.
Hunk #12 succeeded at 711 (offset 46 lines).
Hunk #13 succeeded at 730 (offset 46 lines).
Hunk #14 succeeded at 766 (offset 55 lines).
Hunk #15 succeeded at 1428 (offset 87 lines).
Hunk #16 succeeded at 1492 (offset 89 lines).
Hunk #17 FAILED at 1541.
Hunk #18 FAILED at 1551.
Hunk #19 succeeded at 1571 (offset 91 lines).
Hunk #20 succeeded at 1592 (offset 91 lines).
Hunk #21 succeeded at 1601 (offset 91 lines).
Hunk #22 succeeded at 1826 (offset 108 lines).
Hunk #23 succeeded at 1843 (offset 108 lines).
Hunk #24 succeeded at 1926 (offset 108 lines).
Hunk #25 succeeded at 2118 (offset 108 lines).
Hunk #26 succeeded at 2563 (offset 100 lines).
Hunk #27 succeeded at 2611 with fuzz 1 (offset 102 lines).
Hunk #28 succeeded at 2628 (offset 102 lines).
8 out of 28 hunks FAILED -- saving rejects to file gc.c.rej
patching file intern.h
Hunk #1 succeeded at 268 (offset 15 lines).

我也尝试使用ruby-prof,但总是得到错误"uninitialized constant RubyProf::Test“。我不知道如何使用gem的“内存”,"memprof“和"bleak_house”都不能成功安装。

如果我让一个打了补丁的红宝石跑起来,我应该没问题。但欢迎任何其他分析库类内存的可能性。感谢您的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-25 01:30:54

我也经常收到ruby-prof的错误。profile_test_helper.rb中存在错误。如果您将第17行改为"require 'ruby-prof/test'“,它应该可以工作。

http://github.com/jeremy/ruby-prof/issues#issue/5

票数 3
EN

Stack Overflow用户

发布于 2010-04-15 18:16:48

如果你用的是Windows,你可以试试Ruby Memory Validator

您还可以尝试原始的Ruby Memory Tracking API,其他一些are就是从它派生出来的。这适用于任何平台--但您必须自己构建Ruby (并自己从C/C++调用API )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2538783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档