0

Rubinius には、次のように開始されるメモリ分析ツールがあります。

rbx -Xagent.start <script name>

http://rubini.us/doc/en/tools/memory-analysis/を参照

しかし、メモリ分析を行うために Ruby on Rails アプリを起動するにはどうすればよいでしょうか?

rbx -Xagent.start rails server

トリックをしません!

Rails アプリでリークを検索する場合、「スクリプト名」には何を入力しますか?

gem 'ruby-prof' は MRI 用 ruby​​ RUBY_VERSION.before?('1.9.2', '2.0') のみ! これが rubinius が独自の tools/memory-analysis/ を持っている理由だと思います。Railsでの使用方法がわかりません。

4

1 に答える 1

1

ターミナル 1 でレールを開始します。

rbx -Xagent.start bin/rails s puma

ターミナル 2 のコンソールにアクセスします。

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

解釈ダンプ

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

ヒープダンプ解釈ツール

Rubinius HeapDump形式を読み込むコード

gemspec を持つ fork を取得する

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
于 2014-05-10T01:03:47.187 に答える