github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

ice799 / memprof

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 113
    • 5
  • Source
  • Commits
  • Network (5)
  • Issues (1)
  • Downloads (0)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (5)
    • heap_dump
    • i386
    • libdwarf
    • master ✓
    • ruby19
  • Tags (0)
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

A Ruby gem for memory profiling — Read more

  cancel

http://timetobleed.com

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

Add support for ruby binaries with enable-shared. 
ice799 (author)
Sat Jan 23 01:40:16 -0800 2010
commit  20d7a731d33a83447c492facf4228d5790939953
tree    7b7e72203046a3ff383b7d3a9d67b71ea87cb738
parent  7b05529c0a2299dbcede1cef54b84a481a89bdfa
memprof /
name age
history
message
file .gitignore Tue Dec 08 22:10:46 -0800 2009 .gitignore [Jake Douglas]
file README Sun Jan 24 22:24:14 -0800 2010 Add support for ruby binaries with enable-share... [ice799]
directory ext/ Sun Jan 24 22:24:14 -0800 2010 Add support for ruby binaries with enable-share... [ice799]
file memprof.gemspec Sun Jan 24 22:24:14 -0800 2010 Add support for ruby binaries with enable-share... [ice799]
directory spec/ Sat Dec 19 03:14:29 -0800 2009 Few more specs for ::stats! and multiple calls ... [tmm1]
README
memprof (c) Joe Damato  @joedamato   http://timetobleed.com

What is memprof?
================
Memprof is a memory profiler for Ruby that requires no patches to the Ruby VM.
It can help you find Ruby level memory leaks in your application.

Required to install
===================
If you are using the Linux version, you need to install libelf:

apt-get install libelfg0-dev

The experimental OSX version needs no additional libraries.

How to use
==========

require 'memprof'
Memprof.start

# ruby code

Memprof.stats

# more ruby code

Memprof.stats
Memprof.stop


The above code will output 2 summaries, allowing you to compare which objects were
destroyed and which are still around.

Memprof.stats also takes an (optional) file name to write the output to a file.

Supported systems
=================
This only works on unstripped binaries.

Currently supporting:

  Linux:
    x86_64 builds of Ruby Enterprise Edition 1.8.6/1.8.7
    x86_64 builds of MRI Ruby (enabled-shared and disable-shared)

Experimental (somewhat broken) support:

  Linux:
    i386/i686 support.

  Snow Leopard:
    x86_64 builds of MRI (both enable-shared and disable-shared)
    OSX system Ruby, distributed with Snow Leopard

Coming soon:

  Official support for Snow Leopard.

  Linux:
    Tracking object allocationns in C extensions.

CREDITS
=======
Jake Douglas for the Mach O/snow leopard support.

Aman Gupta for various bug fixes and other cleanup.
Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server