かなり大きなperlコードベースがあります。
複数時間実行される一部のプロセス(ETLジョブ)は、突然、通常よりもはるかに多くのRAMを消費し始めました。関連するリリースの変更の分析は、時間がかかり、苛立たしいプロセスです。より自動化された分析を使用して、原因を特定したいと考えています。
私たちのライブ環境はDebiansqueezeのperl5.14です。
しかし、私は多くのOSX10.5マシンにアクセスできます。Dtraceとperlは、このプラットフォームでうまく連携しているようです。Linuxでdtraceを使用するには、起動にさらに作業が必要なようです。私は、メモリ割り当てパターンがライブシステムと開発OS Xシステムの間で類似していること、または少なくともこの新しいメモリ使用の原因を見つけるのに十分類似していることを望んでいます。
このスライドデッキ:
https://dgl.cx/2011/01/dtrace-and-perl
dtraceの使用方法を示しています。perlsubによるmallocへの呼び出し数を示しています。プロセスの存続期間にわたって各サブを実行している間にperlが割り当てるメモリの総量を追跡することに興味があります。
これをどのように行うことができるかについてのアイデアはありますか?