页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

4、可以在 C:\Smartbi_Insight\jdk\bin 目录下看到生成的线程文件。

Image Modified

方法二

1、通过CMD命令行窗口进入JDK的bin目录下

...

     如访问smartbi的端口号是18080,则输入命令:netstat -ano|find "18080"|find "LISTENING"

Image Modified

3、再使用jstack 进程号 >进程号.log 获取线程信息,如果提示无法连接到JVM,可以增加-F参数强制生成jstack -F 进程号 >进程号.log

上边截图获取到进程号是7280,可输入命令行:jstack 7280 >7280.log

Image Modified

Image Modified

或者:输入命令行:jstack -F 7280 >test.log

Image Modified

方法三

1、进入jdk/bin,执行jvisualvm.exe

...

1、同“一、线程信息”打印线程信息步骤一样,需要先进入对应的JDK的bin目录下,通过jps获取Java进程号 , Tomcat显示的名称应该是Bootstrap:

2、在JDK的bin目录运行【jmap -histo:live 进程号 >进程号.map】

     假设获取到的进程号是7453,则输入命令行为:jmap -histo:live 7453 >7453.map  

     这样会在JDK的bin目录下直接生成相应文件:

Image Removed

3、 反馈文件以跟踪问题

Image Removed

4、若条件允许,生成整个堆Dump文件【jmap -2、在JDK的bin目录运行,可生成完整堆文件 .bin文件 【jmap -dump:live,format=b,file=进程号.bin 进程号】

     如输入命令行: jmap -dump:live,format=b,file=7453.bin 7453

5、该文件非常大,3、该文件非常大,与Java进程的运行内存一样的大,必须压缩以后再反馈

注:反馈以上的信息有助于解决系统无响应的问题。


另,堆Dump文件还有一个map文件,为简要堆文件,但一般情况用处不大(只能看出大概的内存占用总数,无法看具体报表占用的详细信息)。

4、【jmap -histo:live 进程号 >进程号.map】

     假设获取到的进程号是7453,则输入命令行为:jmap -histo:live 7453 >7453.map  

     这样会在JDK的bin目录下直接生成相应文件:

Image Added

5、 反馈文件以跟踪问题

Image Added


三、GC参数

1、在JDK的bin目录中运行【jstat -gcutil 进程号 5000 1000】

...

2、若最后一段GCT段(GC所花费的总时间)在持续快速增加则表示服务器的内存已经不足,若只是少量增加是正常现象:

注意
title备注

如果没有进行修改过JDK的环境变量操作,就任何JDK都可以;如果不确定是否修改过,就直接使用正在运行的JDK,具体可通过smartbi应用所在Tomcat中的bin目录下查看catalina.sh文件:

Image Modified

Image Modified