简体   繁体   English

Rubinius Rails应用程序的内存分析

[英]Rubinius memory analysis of a rails application

Rubinius has a memory analysis tool which is started like this: Rubinius有一个这样的内存分析工具:

rbx -Xagent.start <script name>

se http://rubini.us/doc/en/tools/memory-analysis/ se http://rubini.us/doc/zh/tools/memory-analysis/

But how do I start a Ruby on Rails app for doing memory analysis? 但是,如何启动Ruby on Rails应用进行内存分析?

rbx -Xagent.start rails server

does not do the trick! 不成功!

For searching leaks in a Rails app what would you put for 'script name' ? 为了在Rails应用程序中搜索泄漏,您将为“脚本名称”加上什么?

gem 'ruby-prof' is for MRI ruby RUBY_VERSION.between?('1.9.2', '2.0') only! gem'ruby-prof'仅用于MRI红宝石RUBY_VERSION.between?('1.9.2','2.0')之间! So I assume this is the reason why rubinius has it's own tools/memory-analysis/ . 因此,我认为这就是rubinius拥有自己的工具/ memory-analysis /的原因。 I just do not understand how it is used in Rails. 我只是不明白它在Rails中的用法。

Start rails in terminal 1: 1号航站楼的起步轨道

rbx -Xagent.start bin/rails s puma

Acess console in terminal 2: 终端2中的Acess控制台:

rbx console
VM: rbx -Xagent.start bin/rails s puma
Connecting to VM on port 42051
Connected to localhost:42051, host type: i686-pc-linux-gnu
console> set system.memory.dump heap.dump1

Interpret dump 解释转储

rbx -I <gem dir>/heap_dump/lib -S histo.rb heap.dump1 > dump1

heap dump interpretation tool 堆转储解释工具

Code to read Rubinius HeapDump format 读取Rubinius HeapDump格式的代码

get fork which has gemspec 得到有gemspec的叉子

cd ~/rails/r
git clone https://github.com/kungfumike/heap_dump.git heap_dump
cd heap_dump
gem build heap_dump.gemspec
gem install heap_dump

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM