2017-04-06 52 views
0

我想为我的Tomcat实例增加permgen内存和堆内存。 我尝试过创建setenv.bat文件。 现在我不确定它是否反映出来。Windows服务器中Tomcat instace的默认内存

您能否告诉我如何知道现有分配的Tomcat实例分配的Heap和PerGen内存以及如何交叉检查内存是否增加。

我曾尝试在URL中提到这种方法,但是这是JAVA在windows不针对任何特定的Java实例 https://www.mkyong.com/java/find-out-your-java-heap-memory-size/

回答

0

解决方案1:检查Windows的工艺参数

您可能会看到它在任务管理器中通过启用命令行列并检查java.exe是否确实以-XX:MaxPermSize参数启动。

但是,任务管理器并不总是显示完整的命令行。它在一定数量的字符后切断。您可以使用Process Explorer来查看完整的命令行(只需将鼠标悬停在java.exe进程上)。

解决方案2:入住代码:

import java.lang.management.ManagementFactory; 
import java.lang.management.MemoryPoolMXBean; 
import java.lang.management.MemoryType; 
import java.lang.management.MemoryUsage; 

for (MemoryPoolMXBean mpBean : ManagementFactory.getMemoryPoolMXBeans()) { 
    System.out.printf(
      "Type: %s, Name: %s: %s\n", 
      mpBean.getType().toString(), mpBean.getName(), mpBean.getUsage() 
    ); 
} 

How is the java memory pool divided见。