对未知代码设置限制的最佳方法是什么?

发布于 2024-10-27 07:17:17 字数 302 浏览 2 评论 0原文

我正在使用一个Python库(SimpleParse),我似乎用它引起了一些失控的递归。当我试图调试它时,它已经使我的计算机崩溃了一次。

对我来说,对其使用的内存量设置一些限制的最佳方法是什么?

我想我会用 setrlimit 编写一个快速的 C 程序来调用 Python,并进行测试从那里开始。

I'm using a Python library (SimpleParse) that I seem to be causing some runaway recursion with it. It's already crashed my computer once when I was just trying to debug it.

What would be the best way for me to set some limits on how much memory it's using?

I was thinking I would write up a quick C program with setrlimit to call Python, and test it from there.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

╭⌒浅淡时光〆 2024-11-03 07:17:17

Python 提供了 setrlimit(),因此您可以继续使用 Python 。 (除非你更喜欢 C 语言:)

请注意,Linux 内核已经很长时间不支持 RSS 记帐了;地址空间核算可能是您最好的选择,但它可能过于严格。 (如果程序 mmap(2) 有几 GB,但从不费心去读或写它,那并不重要;rlimits 可能会禁止 mmap(2),而不是禁止实际使用内存。)

Python provides setrlimit(), so you can stay in Python. (Unless you're happier in C :)

Note that the Linux kernel hasn't supported the RSS accounting in a long time; the address space accounting is probably your best bet, but it might be overly restrictive. (If the program mmap(2)s a few gigabytes but never bothers reading or writing it, it won't really matter; the rlimits might forbid the mmap(2), rather than forbid actually using the memory.)

ら栖息 2024-11-03 07:17:17

在这里设置递归限制不太可能是一个合理的解决方案。如果库有错误,请报告或修复它。如果您的代码有错误,请修复它。 SimpleParse 并未广泛使用...您可以查看其他解析器选项。由于您没有解释您正在尝试解决的真正问题是什么,因此我们无法提供替代工具的建议。

Setting the recursion limit here is unlikely a reasonable solution. If the library has a bug, please report or fix it. If your code has an error, please fix it. SimpleParse is not widely used...you may look into other parser options. Since you did not explain what your real problem is that you are trying to solve there is little recommendation we can give on alternative tools.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文