Skip to content

Commit 7a2b809

Browse files
sssiongggvijaydev
authored andcommitted
bleakhouse is no longer useful for rails and outdated.
1 parent 6ee8e92 commit 7a2b809

File tree

1 file changed

+1
-55
lines changed

1 file changed

+1
-55
lines changed

guides/source/debugging_rails_applications.md

Lines changed: 1 addition & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -638,60 +638,7 @@ Debugging Memory Leaks
638638

639639
A Ruby application (on Rails or not), can leak memory - either in the Ruby code or at the C code level.
640640

641-
In this section, you will learn how to find and fix such leaks by using tools such as BleakHouse and Valgrind.
642-
643-
### BleakHouse
644-
645-
[BleakHouse](https://github.com/evan/bleak_house/) is a library for finding memory leaks.
646-
647-
If a Ruby object does not go out of scope, the Ruby Garbage Collector won't sweep it since it is referenced somewhere. Leaks like this can grow slowly and your application will consume more and more memory, gradually affecting the overall system performance. This tool will help you find leaks on the Ruby heap.
648-
649-
To install it run:
650-
651-
```bash
652-
$ gem install bleak_house
653-
```
654-
655-
Then setup your application for profiling. Then add the following at the bottom of config/environment.rb:
656-
657-
```ruby
658-
require 'bleak_house' if ENV['BLEAK_HOUSE']
659-
```
660-
661-
Start a server instance with BleakHouse integration:
662-
663-
```bash
664-
$ RAILS_ENV=production BLEAK_HOUSE=1 ruby-bleak-house rails server
665-
```
666-
667-
Make sure to run a couple hundred requests to get better data samples, then press `CTRL-C`. The server will stop and Bleak House will produce a dumpfile in `/tmp`:
668-
669-
```
670-
** BleakHouse: working...
671-
** BleakHouse: complete
672-
** Bleakhouse: run 'bleak /tmp/bleak.5979.0.dump' to analyze.
673-
```
674-
675-
To analyze it, just run the listed command. The top 20 leakiest lines will be listed:
676-
677-
```
678-
191691 total objects
679-
Final heap size 191691 filled, 220961 free
680-
Displaying top 20 most common line/class pairs
681-
89513 __null__:__null__:__node__
682-
41438 __null__:__null__:String
683-
2348 /opt/local//lib/ruby/site_ruby/1.8/rubygems/specification.rb:557:Array
684-
1508 /opt/local//lib/ruby/gems/1.8/specifications/gettext-1.90.0.gemspec:14:String
685-
1021 /opt/local//lib/ruby/gems/1.8/specifications/heel-0.2.0.gemspec:14:String
686-
951 /opt/local//lib/ruby/site_ruby/1.8/rubygems/version.rb:111:String
687-
935 /opt/local//lib/ruby/site_ruby/1.8/rubygems/specification.rb:557:String
688-
834 /opt/local//lib/ruby/site_ruby/1.8/rubygems/version.rb:146:Array
689-
...
690-
```
691-
692-
This way you can find where your application is leaking memory and fix it.
693-
694-
If [BleakHouse](https://github.com/evan/bleak_house/) doesn't report any heap growth but you still have memory growth, you might have a broken C extension, or real leak in the interpreter. In that case, try using Valgrind to investigate further.
641+
In this section, you will learn how to find and fix such leaks by using tool such as Valgrind.
695642

696643
### Valgrind
697644

@@ -726,4 +673,3 @@ References
726673
* [Debugging with ruby-debug](http://bashdb.sourceforge.net/ruby-debug.html)
727674
* [ruby-debug cheat sheet](http://cheat.errtheblog.com/s/rdebug/)
728675
* [Ruby on Rails Wiki: How to Configure Logging](http://wiki.rubyonrails.org/rails/pages/HowtoConfigureLogging)
729-
* [Bleak House Documentation](http://blog.evanweaver.com/files/doc/fauna/bleak_house/)

0 commit comments

Comments
 (0)