java&Tomcat 服务下的日志打印会占用内存的解决方法及思路 10
在linux的top命令下,可以看到使用内存,服务运行过程中,这个内存会成长趋势如第一个图(jvm监视图形)将tomcat的logs目录下的日志清除或清空,可以明显看到t...
在linux的top命令下,可以看到使用内存,服务运行过程中,这个内存会成长趋势如第一个图(jvm监视图形)将tomcat的logs目录下的日志清除或清空,可以明显看到top视图下的内存使用响应的降低使用内存。自己的工程里面也是如此,为此很不理解,打印日志后不就在硬盘上了么,为什么还会一直占用内存不释放呢?另外我的xmx设置的为4G,在图中可以看到内存使用已经达到了7G,而总内存为8G,而且在第二张图的JVM监视中,堆内存是在不断回收的。如果说这个top中的数值不准,那么在内存占用99的时候,会发现自己的服务速度明显变慢,甚至超时状态。求各位大神来求证,解答。
问题是我jvm设置了最大限制为4G,而实际使用内存远高于这个内存数量,从图片上看JVM的内存及回收一直未超过4G,这个服务器上有没有其他应用了,内存吃在哪里?删除日志,会看到使用内存减小。 展开
问题是我jvm设置了最大限制为4G,而实际使用内存远高于这个内存数量,从图片上看JVM的内存及回收一直未超过4G,这个服务器上有没有其他应用了,内存吃在哪里?删除日志,会看到使用内存减小。 展开
1个回答
展开全部
工具/原料tomcatEditPlus方法/步骤怎么知道tomcat服务器内存溢出了呢?看一下cmd命令行显示的内容就知道了,java.lang.OutOfMemoryError:PermGenspace就是内存溢出找到tomcat路径,用编辑器打开catalina.sh在“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行:JAVA_OPTS="-server-XX:PermSize=64M-XX:MaxPermSize=128m保存后,重新启动tomcat服务器,这时候应该正常了,如果还是提示内存溢出,只能是下面的这种情况了内存溢出的另外一种情况就是:电脑内存不够了!这种情况是很有可能发生了,出现内存溢出的时候大家可以检查一下。这种电脑内存不够,只能建议大家给电脑加一根内存条,不加就删除一些程序,清理一下电脑。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询