日期:2014-05-16  浏览次数:20583 次

Linux上Java网站性能问题的解决
  最近发现,之前部署的站点不响应了,页面老长时间打不开。登上服务器,一点一点看吧。
首先敲入 top 命令。
发现java所占用的CPU长时间100%,内存占用倒不是很厉害。
再把Tomcat的logs中的catalina.out打开看看,有错误:
引用

SEVERE: Error reading request, ignored
java.lang.OutOfMemoryError: PermGen space

我这个时候的想法是,CPU是不是都用在GC上了。但是GC一般都用在Young Generation和Old Generation。Permanent Generation里也会垃圾回收吗?(此处忘高手指点)
再用 jmap -heap <pid> 看了一下内存使用情况。
Perm Generation里还真是接近100%的被使用。
其中,PermSize是16M,MaxPermSize是64M。

只有打开catalina.sh,在里面加上这么一句。
引用

-XX:PermSize=64M -XX:MaxPermSize=128M \

重新启动服务。
这个问题就算解决了。