2009-06-09 11 views
7

Linuxシステムで動作するPerlスクリプトのメモリ使用量を制限したいと考えています。私はBSD::Resourcesetrlimitを使用しようとしていましたが、問題がありました。私はどんな指針にも感謝します。ありがとうございました。Linuxでのプロセスメモリ使用量を制限する方法(例:BSD :: Resourceを使用)

+0

問題を説明できますか?あなたは限界を打つのをやめようとしていますか? – ysth

+0

ハードな制限ではなく、ハードな制限を追加してください。 –

答えて

7

コードを開発するときに、Perlプログラムを使い果たしてすべてのメモリを消費するのは簡単です。プログラムがメモリを使い切り、死ぬまでマシンは停止する。あなたはこの問題を防ぐことができます。

使用このコード:

use BSD::Resource; 
setrlimit(get_rlimits()->{RLIMIT_VMEM}, 1_000_000_000, -1) or die; 
1; 

私は(それゆえ "1;")limit.pmにこのコードを置きます。私は、制限したいプログラムの先頭に

use limit; 

と言うことができます。

+0

Pythonでもうまく動作します、ありがとう:) – Joril

+0

@JorilそれはどのようにPythonで動作しますか? – alvas

+1

@alvas:resource.setrlimitを使用しています(resource.RLIMIT_RSS、(megs * 1048576L、-1L)) – Joril

3

Scott Corelyは、perlスクリプトを実行する前にulimitに設定することを示します。

関連する問題