如何限制你的Python程序所能使用的最大内存

这篇文章主要讲解了“如何限制你的Python程序所能使用的最大内存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何限制你的Python程序所能使用的最大内存”吧!

创新互联专注于将乐网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供将乐营销型网站建设,将乐网站制作、将乐网页设计、将乐网站官网定制、成都微信小程序服务,打造将乐网络公司原创品牌,更为您提供将乐网站排名全网营销落地服务。

为了限制Python程序所能使用的最大内存,我们可以使用Python自带的resource模块。

首先获取系统默认的内存soft上限和hard上限:

import resource soft, hard = resource.getrlimit(resource.RLIMIT_AS)

其中的resource.RLIMIT_AS实际上就是数字5,表示内存资源。而soft限制是一个可以调节的内存使用上限,hard是一个一旦设定就很难动态调整的内存使用量上限。

在我的电脑上运行效果如下图所示:

如何限制你的Python程序所能使用的最大内存

一开始soft和hard的值是一样的。并且它们的单位不是比特。而是比比特还小的单位。我的电脑是8GB内存,而8 * 1024 ^ 6  正好约等于这里的hard和soft的值。

接下来,设置当前运行的这个Python程序能够使用的最大内存:

resource.setrlimit(resource.RLIMIT_AS, (最大上限, hard))

其中最大上限是一个整数。假设我想限制当前程序最多可以使用500MB的内存,那么这里的最大上限可以设置为:

0.5 * 1024 ^ 6 = 576460752303423488

所以设置为:

resource.setrlimit(resource.RLIMIT_AS, (576460752303423488, hard))

那么当前Python程序使用的内存超过500MB以后,程序就会抛出MemoryError。

感谢各位的阅读,以上就是“如何限制你的Python程序所能使用的最大内存”的内容了,经过本文的学习后,相信大家对如何限制你的Python程序所能使用的最大内存这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站名称:如何限制你的Python程序所能使用的最大内存
网站路径:http://scyanting.com/article/pisjjh.html