我有一个只在重负载下崩溃的C / C ++应用程序。我通常使用valgrind和gprof来调试内存泄漏和分析问题。失败率大约是百万分之100。这是一致的。 而不是重现我的应用程序的流量,我可以表面上限制valgrind运行的应用程序的调试版本可用的资源吗?
答案 0 :(得分:2)
ulimit
来设置某些资源的硬限制。
答案 1 :(得分:1)
请注意,在Linux中,只有部分内存ulimit可以正常工作。
例如,我不认为应该限制数据段(我认为是RSS)的ulimit -d
确实有效。
我记得在尝试保持Evolution(电子邮件客户端)受到控制的经验时,ulimit -v
(虚拟内存)是唯一适合我的方式。
答案 2 :(得分:0)
听起来这可能是一场竞争 - 你试过'helgrind'valgrind工具吗?