我正在使用一個Python庫(SimpleParse),我似乎正在造成一些失控的遞歸。當我試圖調試它時,它已經崩潰了一次。什麼是設置未知代碼限制的最佳方式?
對我來說,設置一些限制它使用多少內存的最佳方法是什麼?
我在想我會用setrlimit寫一個快速的C程序來調用Python,並從那裏進行測試。
我正在使用一個Python庫(SimpleParse),我似乎正在造成一些失控的遞歸。當我試圖調試它時,它已經崩潰了一次。什麼是設置未知代碼限制的最佳方式?
對我來說,設置一些限制它使用多少內存的最佳方法是什麼?
我在想我會用setrlimit寫一個快速的C程序來調用Python,並從那裏進行測試。
Python provides setrlimit()
,所以你可以留在Python中。 (除非你在C中更快樂:)
請注意,Linux內核長時間不支持RSS記帳;地址空間會計可能是你最好的選擇,但它可能是過度限制。 (如果程序mmap(2)
SA幾GB,但從來沒有困擾讀取或寫入它,它不會真正的問題;在rlimits可能禁止mmap(2)
,而不是使用的記憶裏卻禁止)
在這裏設置遞歸限制不太可能是一個合理的解決方案。如果圖書館有錯誤,請報告或修復它。如果你的代碼有錯誤,請修正它。 SimpleParse沒有被廣泛使用......你可以看看其他解析器選項。既然你沒有解釋你真正想要解決的問題,那麼我們在替代工具方面就沒有多少建議。
啊,我沒有甚至意識到。這可能會訣竅。 – supercheetah 2011-03-30 02:01:04