0

如果应用程序安装到 SAN 并且进程崩溃,是否可以将核心转储写入 SAN 分区?我一直在试图找出一个问题,即我们的进程死亡并且没有生成核心,因此没有堆栈。这两种情况都在两个完全独立的 Solaris 环境中。ulimit -c 是无限的,pstack 在路径中。在我最初的研究中,我发现了一个声明,声称无法将核心转储到 SAN 磁盘。我无法再次找到此信息,导致我质疑其有效性。

4

2 回答 2

0

您发现对 SAN 的核心转储不起作用的参考可能是指内核本身的核心转储。(在 Solaris 上通常称为故障转储)

也许该进程没有有用的当前目录。使用 coreadm 强制将核心转储写入合理的地方。请参阅http://developers.sun.com/solaris/articles/manage_core_dump.html

如果您的进程意外死亡,并且您有可能破坏其性能,请尝试在 truss 下运行它。如果这是 Solaris 10,dtrace 在这里可能会很有帮助。

于 2009-05-22T19:52:48.933 回答
0

未生成或未列出内核时的条件core(4)man core用于阅读手册页。如果用户 id没有人参与,那可能会发生(或者更确切地说,什么都没有发生)。

您还可以使用gcore来查看手动获取核心转储是否会有所帮助。检查coreadm默认情况下核心转储的位置 - 也许它们不在当前工作目录中,而是在某个地方/var

沃尔克

于 2009-02-18T09:56:59.043 回答