人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyはmrubyのmrb_stateをApacheのサーバプロセス上で使いまわすアーキテクチャをとっています。基本的にプロセスは起動しっぱなしなのですが、リクエストを大量に処理すると、プロセスのメモリがどんどん太っていく問題がありました。 これは、mruby-uv等でも報告されており、どうにか改善したいと思っていました。そこで、twitter上でいくつかmatzさんとやり取りしながら、valgrindでメモリのLEAKとHEAPを調査の上、mallocのフラグメントを疑い、jemallocでmallocをフックするとどのようにメモリ使用量が改善するかを実験しました。 valgrindでApacheをデバッグ valgrindでA
![mod_mrubyのメモリ問題をvalgrindで調査の上jemallocで改善](https://cdn-ak-scissors.b.st-hatena.com/image/square/766ca0fef4c2c0e2c2a40a7ccb2cb0bdeb0e21c8/height=288;version=1;width=512/http%3A%2F%2Fblog.matsumoto-r.jp%2Fwp-content%2Fuploads%2F2012%2F12%2Fmod_mruby_jemalloc-600x370.png)