...
注意 | ||
---|---|---|
| ||
先不要重启服务器,在服务器无响应的时候执行下面获取步骤。 |
目录 |
---|
Windows
一、线程信息
请在服务器无响应时,执行打印进程信息,打印线程信息有两个方法:
方法一
要求JDK版本为1.6及其以上版本。
1、在运行中打开cmd命令行窗口。
...
4、可以在 F:\WebLogic\jdk160_18\bin 目录下看到生成的线程文件。
方法二
1、通过CMD命令行窗口进入JDK的bin目录下
...
或者:输入命令行:jstack -F 17348 >test.log
二、堆Dump文件
1、同“一、线程信息”打印线程信息步骤一样,需要先进入对应的JDK的bin目录下,通过jps或netstat获取Java进程号:
2、在JDK的bin目录运行【jmap -histo:live 进程号 >进程号.map】
获取到的进程号是17348,则输入命令行为:jmap 假设获取到的进程号是17348,则输入命令行为:jmap -histo:live 17348 >17348.map
...
5、该文件非常大,与Java进程的运行内存一样的大,必须压缩以后再反馈
注:反馈以上的信息有助于解决系统无响应的问题。
三、GC参数
1、在JDK的bin目录中运行【jstat -gcutil 进程号 5000 1000】
2、若最后一段GCT段(GC所花费的总时间)在持续快速增加则表示服务器的内存已经不足,若只是少量增加是正常现象:
Linux
一、线程信息
执行命令行生成日志:
1)另外启动一个xshell连接窗口,进入到JDK的路径下(不知道如何选择适合的JDK,可看最下边备注信息),如:
...
这时候就会在服务器上home目录下生成对应的文件了,如下图,将这个文件发回分析。
二、堆Dump文件
1、同“一、线程信息”打印线程信息步骤一样,需要先进入对应的JDK的bin目录下,通过jps获取Java进程号 , Server 代表的是weblogic的线程号:
2、在JDK的bin目录运行【jmap -histo:live 进程号 >进程号.map】
假设获取到的进程号是3537,则输入命令行为:jmap -histo:live 3537 >3537.map
3、 反馈文件以跟踪问题
4、若条件允许,生成整个堆Dump文件【jmap -dump:live,format=b,file=进程号.bin 进程号】
如输入命令行: jmap -dump:live,format=b,file=3537.bin 3537
5、该文件非常大,与Java进程的运行内存一样的大,必须压缩以后再反馈
注:反馈以上的信息有助于解决系统无响应的问题。
三、GC参数
1、在JDK的bin目录中运行【jstat -gcutil 进程号 5000 1000】
2、若最后一段GCT段(GC所花费的总时间)在持续快速增加则表示服务器的内存已经不足,若只是少量增加是正常现象:
注意 |
---|
如果没有进行修改过JDK的环境变量操作,就任何JDK都可以;如果不确定是否修改过,就直接使用正在运行的JDK,具体可通过smartbi应用所在域里边找到setDomainEnv.sh 文件查看,如下边截图是把smartbi部署在hh_domain域下的:/home/admin/weblogic1033/Middleware/user_projects/domains/hh_domain/bin |