gpt4 book ai didi

unix - 使用 strace 修复挂起的内存问题

转载 作者:行者123 更新时间:2023-12-04 12:54:19 25 4
gpt4 key购买 nike

我有一个在 RHEL6.x(64 位)上运行的多线程进程。

我发现当我尝试启动进程时,进程挂起并且大多数线程(同一进程的)崩溃。一些线程等待线程之间的共享内存被创建(我可以看到所有这些都没有被创建)。

但是当我使用 strace 时,该进程不会挂起并且运行良好(所有应该创建的内存都被创建了)。即使在内存创建后中断 strace ,也能保持进程运行良好。

我读过这个:

strace fixes hung process

这确实给了我一个想法。但是我对此仍然不清楚,因为没有提到他们使用的 RHEL 版本。

此外,另一点是,将内核更改为 Fedora(兼容)内核不会产生该问题。

所以,我只想知道 strace 究竟是如何影响进程的? (或者它只是像链接中指出的那样移回内核的堆栈)?

最佳答案

我还不能发表评论,但我在过去的工作中看到过类似的事情。由于没有真正确定的答案,我将采用以下方法:

由于时间问题,您在线程之间进入死锁的几率有多大,这些问题通过 strace 减慢程序执行速度来“解决”?

如果您通过整个过程而不是 strace 进行调试,会发生什么?

关于unix - 使用 strace 修复挂起的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21433864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com