エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
本記事について Goで開発している中で、なぜかobjectは確実に解放されているはずなのに、 プロセスのメ... 本記事について Goで開発している中で、なぜかobjectは確実に解放されているはずなのに、 プロセスのメモリ使用率が下がらず、逆にどんどん増加し続けてしまう問題に遭遇しました。 結論から言うとこれはmemory fragmentationが問題で発生しており、 本記事ではなぜその問題が発生したのか、そしてそれをどのように解決したのかを整理していこうと思います。 前提 私はPrometheus互換の時系列データベースを開発するチームに所属しており、その中にIn-Memoryなストレージコンポーネントが存在しています。 時系列データとは、timestampとvalueを持ったdata pointsの集合で、 私達のストレージでは4時間ごとのdata pointsを"chunk"と呼ばれるデータ構造にまとめて保持しています。 例えばCPU使用率のmetricsを想像すると、どの時間にどのくらい