最適化 #945
closedRuby-GNOME2 3.0.9を利用すると、mikutterが消費するメモリが増える
0%
Description
mikutterが最近メモリをよく消費するようになったという問題を調べていたら、その境は3.4.2と3.4.3にあることがわかった。
この間の変更のうち、依存するgtk2のバージョンを3.0.8から3.0.9に上げた変更が怪しいと思い、mikutter 3.4.8を書き換えてgtk2 3.0.9を使うようにしたものと3.0.8を使うようにしたものを、同じ条件で8時間稼働させてメモリの使用量を比べたところ、gtk2 3.0.8を使うものは20%程度メモリの使用量が低かった。
現在のところ、gtk2 3.0.9に問題があるのかmikutterに問題があるのかはまだわかっていないが、この組み合わせでは問題が発生することがわかったので、一旦gtk2 3.0.8を使うようにする。
今後の流れ
- 問題を再現できる小さなコードを書く
- gtk2ライブラリのコードを修正して、1.のコードでメモリ使用量の低減が具体的に分かるようにする
- mikutterでも使ってみて確認
- pull requestを送る
- リリースされたら、mikutterがそのバージョンのgtk2を利用するように変更する
#925 が、mikutterの実装の問題によってメモリを過剰に消費している問題の解決を目指しているのに対して、このチケットはgtk2 3.0.9をmikutterで使った場合に極端にメモリを消費するようになる問題の解決を目指しています。
Files
Related issues
Updated by toshi_a 初音 almost 8 years ago
- Related to 環境対応 #933: gtk2 3.1.0を利用する added
Updated by toshi_a 初音 almost 8 years ago
- Related to 機能 #877: Ruby 2.4に対応するため、gtk2 3.0.9を利用する added
Updated by toshi_a 初音 almost 8 years ago
- Related to バグ #925: mikutterがメモリを大量に消費することがある added
Updated by toshi_a 初音 over 7 years ago
先日gtk2 3.1.1がリリースされたため、24時間ホームタイムラインを表示し続けてメモリの消費を確認しました。
- 3.0.8: 915192
- 3.1.0: 1169356
- 3.1.1: 877476
3.1.1になって、3.0.8と同程度に落ち着いた可能性があります。詳しく経過を取ってみようと思いますが、追試した人がいればこのチケットに結果を書いていただけるとありがたいです
Updated by Katsuyoshi MATSUMOTO over 7 years ago
- File 2017-01-28.png 2017-01-28.png added
夜1時ぐらいから9時ぐらいまでのgtk2-3.1.1 つかったときのメモリ使用量
Updated by toshi_a 初音 over 7 years ago
使用するGtk2 gemのバージョンを 3.1.1 に変更したやつを topic/945-ruby-gnome2-3.1.1 ブランチにpushしました。揃えたほうが良いと思うので、今からテストする人はこれでお願いします。
Updated by Katsuyoshi MATSUMOTO over 7 years ago
ruby 2.3.3で計測
http://dev.mikutter.hachune.net/issues/945#note-6
Updated by Katsuyoshi MATSUMOTO over 7 years ago
- File 2017-01-30.png 2017-01-30.png added
ruby2.4.0での結果
Updated by Katsuyoshi MATSUMOTO over 7 years ago
- File 2017-02-01.png 2017-02-01.png added
2.5.0-dev 問題なさそう