天天看点

记一次本地开发环境启动应用报OutOfMemoryError: unable to create new native thread问题处理

今天更新了svn代码后,启动项目就莫名其妙的报了个OutOfMemoryError: unable to create new native thread,而且是在创建某个定时器任务的时候报的异常。而其他同事却没有这个问题。百思不得其解。

后来在网上查了一下,建议先去查看java进程的堆栈信息。

然后就按照建议,用jps查询PID

jps -lvm 查询java进行以及PID

接着,用

jstack -l pid

命令查询堆栈信息就报了个

Unable to attach to 32-bit process running under WOW64

谷歌翻译了如下:

无法连接到WOW64下运行的32位进程

我大概就明白了,去查看了一下项目运行的jdk版本,发现是32位的jdk,而且是myeclipse自带的32位jdk,而我环境变量配置的jdk是64位的。所以打算修改项目运行的jdk,在运行项目查看堆栈信息。可是项目启动后查看日志竟然正常了,没有OutOfMemoryError错误了。误打误撞的解决了问题。虽然现在还不清楚是原因,但是至少可以作为出现该错误的一个尝试的方案也未尝不可。