【发布时间】:2010-04-04 06:12:46
【问题描述】:
监视python脚本正在使用的系统资源并在资源使用超过某些预定值时终止它的“正确”或“最佳”方法是什么。在我的情况下,内存使用是值得关注的。尽管我愿意接受建议,但我并不是在问如何衡量系统资源使用情况。
作为一个简单的例子,假设我有一个函数可以找到小于某个大数的素数,并根据某些条件将它们添加到列表中。我事先不知道有多少质数会满足条件,所以如果我使用最多的系统内存(比如说 8gb),我要确保终止函数。 我知道有一些方法可以监控 python 对象的大小。我不知道监视列表大小和退出的正确方法是在主函数循环中包含一个大小测试,如果它超过 8gb 或者如果有一个“外部”(我的意思是外部在循环外部但仍然在 python 脚本内或部分)监视和退出的方式。
在我的情况下,我在 Mac 上运行,但一般都在问这个问题。
【问题讨论】:
-
这不是叫“设计”吗?为什么不设计一个使用最少内存的算法呢?我不确定我是否理解这个用例与设计有何不同。你能解释一下为什么你没有设计算法来最小化内存使用吗?
-
@S.Lott:我想问一个一般性问题。在我的实际用例中,我不确定我的列表会有多大或实验将运行多长时间。我希望它需要几天才能运行,因为我从中选择数字的迭代器很大。有时,即使是一个好的算法,在实际运行之前,其运行时间和内存使用情况也是不确定的。
标签: python resources monitoring terminate