如何解决如何限制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 举报,一经查实,本站将立刻删除。