2013-09-30 47 views
0

我正在運行一個下載數據並對其進行處理的python腳本。我也記錄了一些關鍵信息。我的問題是,如果記錄寫入文件,我將如何捕獲由記錄引發的內存不足異常。我是否必須將所有日誌記錄調用放在一個try和except之內?從python日誌捕捉「內存不足錯誤」

回答

0

您可以創建一個從日誌導出,但通話記錄一try: ... expect:子句中你自己的日誌類。

0

而不是在已經太晚時捕捉異常。您可以監視資源使用情況或指定限制。

你的意思是內存或磁盤空間?

對於磁盤空間,您可以限制日誌的大小,使用循環日誌可能很有用,您可以在其中指定日誌的最大大小。請參閱RotatingFileHandler以及其他日誌處理程序。 http://docs.python.org/2/library/logging.handlers.html

在Linux上,您可以通過resource模塊監視進程使用的內存量。

import resource 
print 'Process uses:', resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, "kb"