Ограничение использования ресурсов для отладки приложения в Linux - PullRequest
2 голосов
/ 02 февраля 2010

У меня есть приложение на C / C ++, которое падает только при больших нагрузках.Обычно я использую valgrind и gprof для устранения утечек памяти и проблем с профилированием.Частота отказов составляет около 100 на миллион прогонов.Это соответствует.Вместо того, чтобы воспроизводить трафик для моего приложения, могу ли я как-то ограничить ресурсы, доступные для отладочной сборки приложения, работающего в valgrind?

Ответы [ 3 ]

2 голосов
/ 02 февраля 2010

ulimit может использоваться из bash для установки жестких ограничений на некоторые ресурсы.

1 голос
/ 03 февраля 2010

Обратите внимание, что в Linux на самом деле работают только некоторые ограничения памяти.

Например, я не думаю, что ulimit -d, который должен ограничивать сегмент данных (который я считаю RSS), действительно работает.

Как я помню из своего опыта с попыткой держать Evolution (почтовый клиент) под контролем, ulimit -v (виртуальная память) была единственной, которая работала для меня.

0 голосов
/ 03 февраля 2010

Похоже, что это может быть состояние гонки - вы пробовали использовать инструмент helgrind valgrind?

...