限制 Linux 上调试应用程序的资源使用

发布于 2024-08-19 16:17:11 字数 156 浏览 8 评论 0原文

我有一个 C/C++ 应用程序,仅在重负载下才会崩溃。我通常使用 valgrind 和 gprof 来调试内存泄漏和分析问题。失败率约为 100 万次运行中 100 次。这是一致的。 我是否可以表面上以某种方式限制 valgrind 中运行的应用程序的调试版本可用的资源,而不是重现应用程序的流量?

I have a C/C++ application that crashes only under heavy loads. I normally use valgrind and gprof to debug memory leaks and profiling issues. Failure rate is like about 100 in a million runs. This is consistent.
Rather than reproduce the traffic to my application, can I superficially limit the resources available to the debug build of the application running within valgrind somehow?

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

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

发布评论

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

评论(3

七分※倦醒 2024-08-26 16:17:11

ulimit 可以在 bash 中使用来对某些资源设置硬限制。

ulimit can be used from bash to set hard limits on some resources.

雨的味道风的声音 2024-08-26 16:17:11

请注意,在 Linux 中,只有部分内存 ulimit 真正起作用。

例如,我不认为 ulimit -d 应该限制数据段(我认为是 RSS)真的有效。

根据我尝试控制 Evolution(电子邮件客户端)的经验,ulimit -v(虚拟内存)是唯一对我有用的。

Note that in Linux only some of the memory ulimits actually work.

For example, I don't think ulimit -d which is supposed to limit the data segment (which I think is RSS) really works.

As I recall from my experience with trying to keep Evolution (the email client) under control, ulimit -v (the virtual memory) was the only one that worked for me.

伤感在游骋 2024-08-26 16:17:11

听起来这可能是一个竞争条件 - 您尝试过“helgrind”valgrind 工具吗?

It sounds like it could be a race condition - have you tried the 'helgrind' valgrind tool?

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