前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python resource module RLIMIT_RSS not work

Python resource module RLIMIT_RSS not work

作者头像
kongxx
发布2018-05-14 11:45:15
6020
发布2018-05-14 11:45:15
举报

在使用resource设置当前进程的MEM_LIMIT的时候, 发现在我的CentOS6x和7x上都不work了, 测试代码如下:

代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import time
import resource

resource.setrlimit(resource.RLIMIT_RSS, (1024, 1024))
s = ' ' * (10 * 1024 * 1024)
time.sleep(60)

查了一下资料, 总算在下面的链接中找到了答案.就是 RLIMIT_RSS 只在 Linux 2.4.x, x < 30的系统上工作. 具体说明如下:

https://linux.die.net/man/2/prlimit

RLIMIT_RSS Specifies the limit (in pages) of the process's resident set (the number of virtual pages resident in RAM). This limit only has effect in Linux 2.4.x, x < 30, and there only affects calls to madvise(2) specifying MADV_WILLNEED.

最后没有办法,只能自己周期性的计算内存使用情况,来执行相应的操作了。

另外,resource模块只能设置当前进程的rlimit,如果要设置任意进程的rlimit,可以使用psutil模块来实现。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.04.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档