【问题标题】:Catch "Out of memory error" from python logging从 python 日志中捕获“内存不足错误”
【发布时间】:2013-09-30 17:53:20
【问题描述】:

我正在运行一个 python 脚本来下载数据并对其进行处理。我也在记录一些关键信息。我的问题是,如果日志记录抛出异常,我将如何捕获内存不足异常,因为日志记录写入文件。我是否必须将所有日志记录调用都放在 try 和 except 中?

【问题讨论】:

    标签: python linux logging exception-handling ioerror


    【解决方案1】:

    您可以创建自己的日志记录类,它派生自日志记录,但在 try: ... expect: 子句中调用 log。

    【讨论】:

      【解决方案2】:

      而不是在为时已晚时捕获异常。您可以监控资源使用情况或指定限制。

      您是指 RAM 还是磁盘空间?

      对于磁盘空间,您可以限制日志的大小,使用旋转日志可能很有用,您可以在其中指定日志的最大大小。请参阅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"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-20
        相关资源
        最近更新 更多