gpt4 book ai didi

linux - 我可以核心转储一个阻塞磁盘事件的进程(最好不要杀死它)吗?

转载 作者:IT王子 更新时间:2023-10-29 00:35:01 25 4
gpt4 key购买 nike

我想根据 /proc/<pid>/status 转储正在运行的进程的核心,目前正在阻止磁盘事件。实际上,它正忙于在 GPU 上工作(应该是 4 个小时的工作,但现在花费的时间明显更长了)。我想知道进程的工作已经完成了多少,所以能够转储进程的内存会很好。但是,据我所知,“阻止磁盘事件”意味着不可能以任何方式中断进程,并且无法核心转储进程,例如使用 gdb 需要中断并暂时停止进程才能通过 ptrace 连接,对吗?

我知道我可以阅读 /proc/<pid>/{maps,mem}作为 root 获取(可能不一致的)内存状态,但我不知道有什么方法可以获取进程的用户空间 CPU 寄存器值......当进程在内核中时它们保持不变,对吧?

最佳答案

您或许可以在您的程序上运行gcore。它基本上是 GDB 的包装器,可以附加、使用 gcore 命令,然后再次分离。

这可能会中断您的 IO(就好像它收到了一个信号,它会这样做),但如果编写正确,您的程序可能会重新启动它(由于默认处理,这在任何情况下都可能发生)。

关于linux - 我可以核心转储一个阻塞磁盘事件的进程(最好不要杀死它)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15567418/

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