Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java jstack工具内存不足或附加权限不足_Java_Memory_Jstack_Privilege - Fatal编程技术网

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

java jstack工具内存不足或附加权限不足,java,memory,jstack,privilege,Java,Memory,Jstack,Privilege,我真的很困惑: 在我的Windows2008R2中,我有一个windows服务,实际上它是一个java进程,以系统用户的身份运行。现在,我使用Jstackrawly来创建服务。但它会出现错误: insufficient memory or insufficient privilege to attach 但是如果我使用Jstack的选项-F,它可以很好地工作。我查看jdk的源代码,它使用一个类BugSpotAgent来完成上面的工作 我想知道我不能使用Jstackrawly的根本原因,是系统

我真的很困惑: 在我的Windows2008R2中,我有一个windows服务,实际上它是一个java进程,以系统用户的身份运行。现在,我使用Jstackrawly来创建服务。但它会出现错误:

 insufficient memory or insufficient privilege to attach
但是如果我使用Jstack的选项-F,它可以很好地工作。我查看jdk的源代码,它使用一个类BugSpotAgent来完成上面的工作

我想知道我不能使用Jstackrawly的根本原因,是系统用户权限问题吗?我还尝试使用PsExec.exe(一个工具)来运行我的Jstackrawly(这意味着我将使用SYSTEMuser来运行Jstack),但它仍然无法工作

你能帮我吗

谢谢和问候

jstack只能锁定由同一用户在同一会话中启动的进程。未指定会话时,psexec命令将锁定到控制台会话,并在尝试获取线程转储时抛出此错误

解决方案是确保psexec使用的用户和会话与目标java进程使用的用户和会话相同

如果它是由普通用户启动的, A.使用相同的用户凭据登录而不使用-s或-h标志 B查找启动进程的会话ID。(您可以使用任务管理器并转到“用户”选项卡找到它)。将此会话id与标志-i一起使用

psexec\\server name-u username-p password-i session id命令

e、 g

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

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

另请参阅windows服务的解决方法。