2020.01.15
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ
こんにちは、kaiです。
最近新作ゲームをプレイ中に自宅PCのメモリ使用率が95%まで上がったことがあって(windows defenderの問題でした)、
メモリリークって怖いな…と思う今日この頃ですが、それに関連して今回は担当していた案件で遭遇した問題について紹介します。
取得したURLにPHPのcURL関数を用いてアクセスするプログラムを作成したところ、
実行中、時間を追うごとにサーバーのメモリ消費量が増大していく現象が発生しました。
プログラム側ではスタックし続けるような処理を実装していないので、調査したところ、
curlの古いバージョンにはキャッシュを蓄積し続けるバグが存在しておりプログラム実行中にはメモリが解放されずに
消費されていくことが分かりました。
そこで暫定の対応ではありますが、
curl利用部分を個別のプログラムとして切り出し、そこにURLを分割して渡すことでメモリ消費を抑える形に改修しました。
追々バージョンアップや別の方法に変えたいところですね…
まだ記事作成時点でテスト中ですが、結果や追加対応などはまた報告できればと。
外部要因の不具合はなかなか出くわさなかったので個人的には良い経験になったと思います。
ではまた。
・参考URL