代码之家  ›  专栏  ›  技术社区  ›  Adam Butler

当tomcat停止响应但拒绝访问jstack和jmap时,该怎么办?

  •  3
  • Adam Butler  · 技术社区  · 14 年前

    有谁知道为什么tomcat可能会停止响应,或者我有什么方法可以找出为什么会发生这种情况?

    Tomcat在摔倒之前似乎已经好几周了,但现在已经发生过几次了。

    我见过这个问题 tomcat 6 hangs after a few hours 这似乎与我遇到的问题相同,但我不知道如何运行jstack。

    这是在windows server 2008上,tomcat 2.0.28运行jdk 6.0.20。Tomcat正在作为一个名为Tomcat_的本地用户登录的服务运行。此用户以服务权限登录,并且不是任何组的成员。我尝试将该用户添加到administrators组,但仍然拒绝访问。

    从命令行我尝试了 runas /user:servername\tomcat_user

    然后当我跑的时候 jps 我得到这个输出:

    4476——过程信息不可用

    1540日元

    二者都 jstack 4476 jmap -histo 4476 给出相同的错误:

    4476:访问被拒绝

    1 回复  |  直到 4 年前
        1
  •  5
  •   Laughing_Jack    13 年前

    我不知道tomcat为什么会失败,但“访问被拒绝”的响应通常来自没有使用管理员权限运行命令提示符,因此jstack无法访问跟踪给定进程所需的资源。

    在Windows7中,我发现了一种打开命令提示符的最简单方法,作为一种一次性的方式,具有管理员权限,即通过“开始”菜单(开始->附件->命令提示符)右键单击命令提示符,然后说“以管理员身份运行”。

    推荐文章