Как лучше всего установить ограничения на неизвестный код? - PullRequest
0 голосов
/ 30 марта 2011

Я использую библиотеку Python ( SimpleParse ), которая, кажется, вызывает некоторую убегающую рекурсию.Он уже сломал мой компьютер однажды, когда я просто пытался его отладить.

Как мне было бы лучше установить некоторые ограничения на объем используемой памяти?

Я думал, что янаписал бы быструю C-программу с setrlimit для вызова Python и протестировал бы ее оттуда.

Ответы [ 2 ]

1 голос
/ 30 марта 2011

Python предоставляет setrlimit(), поэтому вы можете остаться в Python.(Если вы не счастливы в C:)

Обратите внимание, что ядро ​​Linux долгое время не поддерживало учет RSS;учет адресного пространства - это, вероятно, ваш лучший выбор, но он может быть чрезмерно ограничительным.(Если программа mmap(2) имеет несколько гигабайт, но не беспокоится о ее чтении или записи, это на самом деле не имеет значения; ограничения могут запрещать mmap(2), а не фактически с использованием памяти.)

0 голосов
/ 30 марта 2011

Установка предела рекурсии здесь вряд ли является разумным решением. Если в библиотеке есть ошибка, пожалуйста, сообщите или исправьте ее. Если в вашем коде есть ошибка, пожалуйста, исправьте ее. SimpleParse широко не используется ... вы можете посмотреть другие параметры парсера. Поскольку вы не объяснили, в чем заключается ваша настоящая проблема в том, что вы пытаетесь ее решить, мы мало что можем дать по альтернативным инструментам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...