Cosenseのweb dynoのメモリ使用量が爆発してるけどなぜかなんともない
https://gyazo.com/a58dbf0cd9397e8e8efce639338c2a28
totalが2GBを超えた場合、すぐにギリギリ2GB以内に戻る
swapが1GBを超えた場合も、すぐにギリギリ1GB以内に戻る
https://scrapbox.io/files/69256f22c4cc10dbbb4c65d4.png
昔からたまにこういう事はあった
NodeとHerokuのどっちかの実装が原因で、うまく動いてない時期もあった
つまりheroku側の仮想環境がOSのレイヤーを通してプロセスに提供している情報が間違っている?
いや、そんな事はない気がするなshokai.icon
total 2GBやswap 1GBを超えたらすぐギリギリに収まる挙動は、nodeがサーバー環境の持つリソースを見て調整しているようにしか思えない。heroku側が収めているのではなく。
この挙動は偶然だと思われる
Herokuは悪くない。node側の実装が悪い
メモリ容量オーバーしてるのにkillされない理由
今、HerokuのインフラがFir世代に移行しようとしているのも関係している気がするshokai.icon R14 errors aren’t currently emitted for Fir-generation apps.
間違ってCedar世代でもR14が処理されなくなっているのではないか?shokai.icon 今後処理されるようになったら事故起こりそうだな
そういうわけではない事が
でわかった
これでかなり解決したshokai.icon*10
2025/11/11(月)の夜中の修正が効いてる
どうやら、単にメモリ使用量が多いだけの、リークはしていないwebアプリになった
あとできるのはメモリ使用量が多い処理をどうにかする事ぐらい
2025/11/13(木) の朝と夜の2回改善リリースした
2025/11/13 20:44
7日間のメモリ使用量
https://scrapbox.io/files/692581e6f46c96357475d15a.png
72時間のメモリ使用量
https://scrapbox.io/files/692581e860635b05fed4045a.png
明け方のRSSのサイズ縮小がちょっと効いてるのかもしれないなshokai.icon
2025/11/14 18:38
72時間のメモリ使用量
https://scrapbox.io/files/692581ec335e7276c05190a2.png
やはりb37c8fd5でリリースしたRSSサイズ縮小が効いてそうshokai.icon
2025/11/14(金) 15:29
とりあえずメモリリークは無くなったと考えていますshokai.icon 今は、ただのちょっとメモリ使用量が多いだけのアプリになった
検証
長時間リスタートせずに動かし続けた
リクエストが少ない時間帯に、メモリ使用量が変化しない
リクエストが多い時間帯は、メモリ使用量とリクエスト数が連動する
https://gyazo.com/7bc8967e8aa520c17136e7b2959e947f
サーバーが再起動するとメモリ使用量がリセットされる
リクエストが少ない時間帯に時間経過でどんどんメモリ使用量が増える事がなくなった
リクエストが増えると、それに伴ってメモリ使用量も増える
結局何が一番大きな原因だったのか?
だけど手当たり次第直してしまったので、他にも同等のものが存在したかもしれない
他はログ読んでくれ。本当に色々やったので
でもたぶんこれshokai.icon
5年ぐらい前に実装した機能である
今更すぎる
bug自体は5年前からあった
5年かけてようやく問題になるレベルで顕在化したのではないか?
説2:最近のライブラリアップデートでexpress等のライブラリの仕様が変わった
ここ半年でほとんどのライブラリが最新版になった。そのせい
AIの登場ですごい勢いでのライブラリ更新が可能となった
今後できる事は、メモリ使用量を減らすだけ
リークしてないので。単に効率を良くする
別で進めているAPI分割をリリースしようshokai.icon