mod_perlで開発しています。実行時間や使用メモリに制限を設定し、制限を超えたら強制終了させたい場合、どのようにすればいいでしょうか? phpのmax_execution_timeとmemory_limitに該当するものを教えてください。

回答の条件
  • 1人1回まで
  • 登録:2009/02/27 13:41:26
  • 終了:2009/03/04 07:59:23

ベストアンサー

id:rryu No.2

りゅう回答回数30ベストアンサー獲得回数22009/02/28 16:48:29

ポイント100pt

Apache::Resource(mod_perl2ならApache2::Resource)を使って、

httpd.confに以下のように設定することで制限できます。

PerlModule Apache::Resource
# 確保できるメモリ量を最大32MBに制限する
PerlSetEnv PERL_RLIMIT_DATA 32
# 最大実行時間を120秒に制限する
PerlSetEnv PERL_RLIMIT_CPU 120

詳細は以下をご覧ください。

http://perl.apache.org/docs/1.0/api/Apache/Resource.html

http://perl.apache.org/docs/2.0/api/Apache2/Resource.html

その他の回答(1件)

id:niwa-mikiho No.1

niwa-mikiho回答回数508ベストアンサー獲得回数382009/02/28 02:06:58

ポイント10pt

http://d.hatena.ne.jp/naoya/20080212/1202830671

こちらのサイトを参考にして、CGI の中から使用メモリを知るようにします。

そして使用メモリが希望する制限値に達したら

exit;

します。

※ exit(); ではないので注意

exit; とするとプロセスは終了して、再び再起動されます。

id:rryu No.2

りゅう回答回数30ベストアンサー獲得回数22009/02/28 16:48:29ここでベストアンサー

ポイント100pt

Apache::Resource(mod_perl2ならApache2::Resource)を使って、

httpd.confに以下のように設定することで制限できます。

PerlModule Apache::Resource
# 確保できるメモリ量を最大32MBに制限する
PerlSetEnv PERL_RLIMIT_DATA 32
# 最大実行時間を120秒に制限する
PerlSetEnv PERL_RLIMIT_CPU 120

詳細は以下をご覧ください。

http://perl.apache.org/docs/1.0/api/Apache/Resource.html

http://perl.apache.org/docs/2.0/api/Apache2/Resource.html

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません