微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何限制python进程上的CPU周期和内存

如何解决如何限制python进程上的CPU周期和内存

我想运行一个简单的python服务器,它将python代码作为字符串输入。我需要在 python 中使用 eval()exec() 运行输入字符串。 (在下面的示例代码中,我还没有添加 eval() 部分,它会进入 task()

但我正在寻找一种方法,通过提供 1% 的 cpu 和 1% 的内存来限制每个用户。我尝试过资源包 (https://docs.python.org/3/library/resource.html)。这似乎为整个 python 代码设置了限制(不仅仅是我正在运行的进程)

这是我作为 POC 尝试过的。如果您有好的建议,请告诉我。谢谢

def task():
    soft,hard = resource.getrlimit(resource.RLIMIT_AS)
    resource.setrlimit(resource.RLIMIT_AS,(1024,hard))
    s = "helloworld"
    for j in range(1,10):
        s = s + s        
    print("Executors in process {}",format(os.getpid()))

def main():
    executor = ProcesspoolExecutor(max_workers=3)
    task1 = executor.submit(task)
    task2 = executor.submit(task)

if __name__ == '__main__':
    for i in range(1,10):
        main()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。