gpt4 book ai didi

java jstack工具内存不足或附加权限不足

转载 作者:IT王子 更新时间:2023-10-28 23:38:01 26 4
gpt4 key购买 nike

我真的很困惑: 在我的 windows 2008r2 中,我有一个 windows 服务,实际上它是以 SYSTEM 用户身份运行的 java 进程。现在,我将 Jstack 直接用于服务。但它发生错误:

 insufficient memory or insufficient privilege to attach

但如果我使用 Jstack 的选项 -F ,它可以正常工作。我查看了jdk的源码,上面使用了一个类BugSpotAgent来完成。

我想知道我不能原始使用Jstack的根本原因,是SYSTEM用户权限问题吗?我还尝试使用 PsExec.exe(一个工具)来运行我的 Jstack 原始(这意味着我将使用 SYSTEM 用户来运行 < strong>Jstack),但还是不行。

你能帮帮我吗?

感谢和问候!

最佳答案

jstack 只能锁定 Same UserSame Session 中启动的进程。如果未指定 session ,psexec 命令会锁定到控制台 session 并在尝试获取线程转储时抛出此错误。

解决方案是确保与 psexec 一起使用的用户和 session 与用于目标 java 进程的用户和 session 相同。

如果它是由普通用户启动的, 一个。在没有 -s 或 -h 标志的情况下使用相同的用户凭据登录 湾。查找启动进程的 session ID。 (您可以使用任务管理器并转到选项卡用户找到它)。将此 session ID 与标志 -i 一起使用

psexec\\server-name -u 用户名 -p 密码 -i session-id 命令

例如

psexec\\192.168.1.1 -u john -p pass123 -i 1 jstack.exe 4242

注意:如果 java 进程已由 SYSTEM 用户启动,请使用标志 -s

关于java jstack工具内存不足或附加权限不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20149635/

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