如何创建作为Windows服务运行的Java进程的内存转储?

问题描述

| 如何创建作为Windows服务运行的Java进程的内存转储?使用jVisualVM,jstack或jconsole之类的工具时,我看不到该进程,因为该服务使用系统帐户运行。 编辑:使用jVisualVM,我可以看到该过程,但是它仅显示一个“此JVM不支持。”     

解决方法

        要使用这些工具,您需要以与该服务相同的用户身份运行。如果您不希望使用此安全功能,则需要为服务器设置JMX以允许远程访问(该服务器也可以与其他用户在同一盒子上使用) 如果使用“ 0”创建低级内存转储,则将很难找到任何可以理解输出的工具。您需要使用Java工具来触发转储。     ,        如果您使用的是Windows 7 / Vista,请以管理员身份运行
taskmgr
,找到您的进程,右键单击“创建内存转储”。如果其他工具也以管理员身份运行,则它们可能会正常工作。需要提升该进程以获取不是您自己的进程的内存转储。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...