admin 管理员组

文章数量: 1184232

最近突然遇到个问题:用 idea  跑 Tomcat 服务,不到30分钟 内存就吃完了。用任务管理器查看,发现 java.exe占了10G内存!!

查了各种方法

〇、 idea Tomcat 配置

没用!!!

一、idea  idea64.exe.vmoptions

安装目录下的  bin 下的  idea64.exe.vmoptions  配置,还是 C:\Users\Administrator\.IntelliJIdea2019.1\config 下的  idea64.exe.vmoptions  配置 改成如下

也没用!!

二、jvisualvm.exe 检查

然后打开 jdk/bin的 jvisualvm.exe   监控发现里面的 堆,栈等内存空间也是正常的

着实郁闷,感觉java线程的最大内存完全不由这些配置控制。

三、线程状态检查

后来根据这篇文章 windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码_hexin373的专栏-CSDN博客  做了排查,发现也不是程序引发的问题。

四、解决

最后是解决了,方法是

打开控制台,执行【  java -Xmx2048m -XX:MaxPermSize=1024m -version】

如此内存是控制住了。

【猜想】:如果没有给JVM 设置内存上限,他会一直跟操作系统申请内存。前面几步都没能设置到位,或者说设置不成功。

如果有用,求关注👇    感谢🙏

本文标签: 内存 java Windows exe tomcat