-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
バックエンドのメモリリーク #10984
Comments
ローカル環境程度の規模では特定できなかった |
メモリリークある? |
らしい |
からMisskeyプロセスを定期的に再起動しているという管理者を複数知ってる |
キャッシュが溜まるのはあるけどそこまで膨れ上がるか?とも思う |
実際にある程度の規模のサーバーのプロセスにデバッガー繋ぐしか特定する方法なさそう |
定期的に再起動しないとメモリ食い荒らしていきますね…(メモリリークかはわからないけど |
メモリ使用量は確認できていませんが、再起動せずに数百万ノートくらいノートするとcpu使用率が全体的に高めになる現象はあります |
とりあえずcache.tsに定期clean処理付けるか |
cache.tsのクリーン処理コミットできたらcherry-pickして自鯖で試してみます(自鯖はめちゃメモリ食われてるので) |
のえすきーもやむを得ず、2プロセス交互で各1時間ごとの再起動やってます。 |
いかすきーも3時間に1回バックアップを立ち上げて差し替え再起動するという手順を踏んでます。 |
あたりでアンケートしたい感 |
そもそも: MisskeyサーバーでRAM使用量が(異常に)多いと感じるのはどのくらい? |
|
|
蛇足: |
|
|
misskey.sda1.net メモリリークがあると感じているかどうかはい 一日あたりのリモートを含めたノート増加数はどれくらいか2から3万(ばらつきあり) Docker 上で立てているかどうか本体のみDocker、RedisとDBは別 メモリ容量16GB OSUbuntu Server 22.04 LTS CPU アーキテクチャAMD64 |
私は3GBは普通だと思っていたけど3GBで多く感じている人も一定数おり、結構そこらへんからして温度感に差がありそう |
nodejs/node#8871 (comment) nodejs自体でメモリ確保が行われる際にもメモリ消費量が多くなることがあり(メモリの断片化が原因?)、workaroundとして |
dockerだとこんな感じでjemalloc導入してみましたがたしかにうちの使用率も1.4GB程度で安定してる |
Arch環境にてjemalloc導入しました。 メモリ4GBをフルに使い切って大きなGCが働いていたのが、現在1/2くらいのメモリ使用率で安定し続けています。効果絶大です。 |
Ubuntu環境です |
なんでみんなそんなメモリ食ってんだろと思ってたら #8605 の時にjemalloc導入してたわ… |
(皮肉にも1年以上運用して特にバグがないことがわかった) |
常に8GB使ってたのが4GBに!約半分になり人生が変わりました! |
jemalloc以外のメモリアロケータがどうしても気になったのでglibc malloc/jemalloc/mimalloc/tcmallocで比較をしようとしたのですが、仮想環境ではメモリ使用量の減少を再現できず断念しました… |
解決した方に報奨金を進呈 |
Dockerイメージにjemallocを含むようにすると親切かも |
アーキテクチャによっては使えないらしい |
解決方法はありそう |
解決した方に報奨金を進呈(再掲) |
とかどうですか |
アーキテクチャが増えて書き換えが発生するよりはそのほうがスマートだわね |
(というかアーキテクチャでわざわざパスを分けるのやめてほしい) |
1年ほど経過してますが |
バージョンによって差がまちまちあるものの
と私個人では認識しています |
related: #14310 |
バックエンドにメモリリークがある可能性がある
The text was updated successfully, but these errors were encountered: