windows server 2008 jstack -存储空间不足,无法处理此命令

本文分享了一次解决Windows Server 2008下使用JDK工具遇到的问题经历,特别是针对JStack无法正常工作的情况。文章详细介绍了问题背景、排查过程及最终解决方案,包括使用PsExec工具绕过权限限制。
摘要由CSDN通过智能技术生成

最近一项目出现问题,用户访问时系统一直处于白屏状态无法响应。此问题之前也出现过,是由于之前同事开发的长连接耗尽系统所有线程导致,但当时发现问题已经修改,如今又再次出现此问题,只能导出线程日志进行分析,但分析过程中发现直接通过命令行方式执行JDK提供工具会给出错误提示,“存储空间不足,无法处理此命令”。

服务器环境:windows server 2008

根据该错误提示进行查询,发现网上很多软件都曾经遇到该提示,但很多给出的解决方案都是添加虚拟内存进行解决,但此种方案明显不适用于我这种问题。

在我本地开发环境通过jstack或者jps等工具执行的时候完全没有任何问题,而且之前在linux环境下通过这些工具执行也没什么问题,为什么服务器就不行了呢?

在网上发现了这么一段话

Jstack only allows you to connect to JVM's running in the same user context.  Many people use a service wrapper to start their products: this puts the JVM in the Local System Account user context.  Since this special account has no login shell, you won't be able to force a thread dump normally.

后来仔细一想项目确实是通过服务方式进行注册,而且之前进行问题定位的时候也是直接使用的jvisualvm 进行查看就不存在账户问题。

152448_5vyY_269725.png


这种情况下通过CMD直接运行JPS命令,也只能等到当前jps的进程ID

152616_s7W4_269725.png

这种情况只能继续想办法处理下去,在处理过程中发现国外网友也出现此问题,建议通过psexec进行处理,通过psexec使用system 用户进行程序执行。

153720_dMDg_269725.png

153720_NrhZ_269725.png

网上下载该程序后使用命令后,发现JPS命令能够执行了,但是还是无法执行jstack

153339_B1Vc_269725.png



无奈只能接着尝试,在查看了psexec 的命令后,我想要不试试直接在当前窗口执行


154343_94ZV_269725.png


最后终于成功!

转载于:https://my.oschina.net/luckyi/blog/535959

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值