如何通过命令行限制Python脚本的内存使用?
如何通过命令行限制Python脚本的内存使用 对于上下文,我正在实现一个代码判断,因此我需要运行学生提交的每个脚本,我可以使用以下命令对Java执行同样的操作:如何通过命令行限制Python脚本的内存使用?,python,Python,如何通过命令行限制Python脚本的内存使用 对于上下文,我正在实现一个代码判断,因此我需要运行学生提交的每个脚本,我可以使用以下命令对Java执行同样的操作: java -Xmx<memoryLimit> Main java-Xmx-Main 到目前为止,Python还不走运,有什么想法吗 PS:我正在使用Python 3.8 谢谢。您可以在Linux系统上使用。(在Python中,) 像这样的东西(对不起,我的Bash生锈了)应该是一个足够好的包装: #!/bin/bash
java -Xmx<memoryLimit> Main
java-Xmx-Main
到目前为止,Python还不走运,有什么想法吗
PS:我正在使用Python 3.8
谢谢。您可以在Linux系统上使用。(在Python中,)
像这样的东西(对不起,我的Bash生锈了)应该是一个足够好的包装:
#!/bin/bash
ulimit -m 10240 # kilobytes
exec python3 $@
然后运行例如that-wrapper.sh student script.py
(也就是说,你确定你可以相信你的学生不会提交上传你的秘密SSH密钥和/或破坏你的文件系统的东西吗?我建议使用一个更强大的沙盒,比如在Docker容器中运行所有东西。)你可以在Linux系统上使用。(在Python中,)
像这样的东西(对不起,我的Bash生锈了)应该是一个足够好的包装:
#!/bin/bash
ulimit -m 10240 # kilobytes
exec python3 $@
然后运行例如that-wrapper.sh student script.py
(也就是说,你确定你可以相信你的学生不会提交上传你的秘密SSH密钥和/或破坏你的文件系统的东西吗?我建议使用更强大的沙盒,比如在Docker容器中运行所有东西。)不确定你为什么想要/需要它。与Java相比,Python非常擅长处理内存。它有适当的垃圾收集器,并且在使用内存方面非常有效。因此,在我10多年的python编程生涯中,我从不需要限制python中的内存。但是,如果您确实需要它,请查看此线程。似乎有人发布了一个解决方案
通常在操作系统级别限制内存,而不是python本身。您也可以使用Docker来实现所有这些。不确定您为什么想要/需要这些。与Java相比,Python非常擅长处理内存。它有适当的垃圾收集器,并且在使用内存方面非常有效。因此,在我10多年的python编程生涯中,我从不需要限制python中的内存。但是,如果您确实需要它,请查看此线程。似乎有人发布了一个解决方案
通常在操作系统级别限制内存,而不是python本身。你也可以使用Docker来实现这一切。试试看:也许你可以试试
ulimit
试试看:也许你可以试试ulimit