Pythonライブラリ(SimpleParse)を使用していますが、これにより暴走再帰が発生しているようです。私がちょうどそれをデバッグしようとしていたとき、それはすでに私のコンピュータを一度クラッシュさせました。
使用するメモリの量に制限を設定するための最良の方法は何でしょうか。
私は、Pythonを呼び出すためのsetrlimitを使用して簡単なCプログラムを作成し、そこからテストすることを考えていました。
Pythonが提供するsetrlimit()
ので、Pythonにとどまることができます。(あなたがCで幸せでない限り:)
Linuxカーネルは長い間RSSアカウンティングをサポートしていないことに注意してください。アドレス空間アカウンティングはおそらく最善の策ですが、過度に制限されている可能性があります。(プログラムmmap(2)
が数ギガバイトであるが、それを読み書きすることを決して気にしない場合、それは実際には重要ではありません。rlimitsは、実際にメモリを使用mmap(2)
することを禁止するのではなく、を禁止する可能性があります。)
ここで再帰制限を設定することは、合理的な解決策ではありません。ライブラリにバグがある場合は、報告または修正してください。コードにエラーがある場合は、修正してください。SimpleParseは広く使用されていません...他のパーサーオプションを調べることができます。あなたが解決しようとしているというあなたの本当の問題が何であるかを説明しなかったので、私たちが代替ツールについて与えることができる推奨事項はほとんどありません。