要約 Google Pub/Subクライアントを使い、ずっと動かし続けてたらメモリリークが見つかった 調査したらクライアント自体のバグか仕様だった。そもそも動かし続けるように作られてない multiprocessingのProcessを使い、別プロセスで動かし、メッセージを一定数ごと受け取ったらそのプロセスごと再起動するようにした oceanusのpubsubからデータを受け取り処理を行うrevelationで、pubusbをRedisからGoogle Cloud Pub/Subにしたところ、メモリリークが発生した。 データはbizoceanのイベントログが送られてきて、一つ数KB、~10メッセージ/秒が来る。 起動時は50MBだけど1時間に数MB増え、1週間で数百MBになり、他のPODにも影響してしまう。 本番のKubernetes(GKE)では下記コマンドでメモリの増加を確認。 % k