NAME

TL::MemorySentinel - メモリ使用状況の監視

SYNOPSIS

my $msenti = $TL->getMemorySentinel;
$msenti->setPermissibleSize(db_cache => 10 * 1024);

my $usage = $msenti->getMemorySize;

DESCRIPTION

FCGI モードの際に、メモリリークが発生しているかどうかを調べて、 リークを検出した場合にプロセスを再起動する。このモジュールは FCGI モードで自動的に使用され、FCGI モードでない時には使用されない。

このモジュールは、最初に "Main関数" in TL を抜けた時の仮想メモリサイズを 保存する。そして次回以降に "Main関数" in TL を抜けた際、最初の時点に対する仮想 メモリサイズの増加が設定値を越えていれば、メモリリークが発生したと判断する。

METHODS

$TL->getMemorySentinel
my $msenti = $TL->getMemorySentinel;

TL::MemorySentinel オブジェクトを取得。

getMemorySize
my $usage = $TL->getMemorySize;

現在のメモリ使用量を取得する。

setPermissibleSize
$msenti->setPermissibleSize(db_cache => 10 * 1024);

許容メモリ使用量を設定する。 第一引数にはその設定に対するキーを渡し、第二引数にはサイズを KiB 単位で渡す。

デフォルトでは次の設定がされている。

$msenti->setPermissibleSize(_HEAP => 10 * 1024);
getTotalPermissibleSize
my $total = $msenti->getTotalPermissibleSize;

全てのキーに対する許容メモリ使用量の合計値を返す。

BUGS

現在の所、このモジュールは次の OS からのみメモリ使用量を取得する事が出来る。 これ以外の OS ではメモリリークの検出は行なわれない。

  • Linux 2.x

SEE ALSO

TL
TL::FileSentinel

AUTHOR INFORMATION

    Copyright 2006 YMIRLINK Inc. All Rights Reserved.

    This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself

    このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。

    Address bug reports and comments to: tl@tripletail.jp

    HP : http://tripletail.jp/