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,这个服务器上有没有其他应用了,内存吃在哪里?删除日志,会看到使用内存减小。
展开
 我来答
小巴菜鸟
2018-05-15 · TA获得超过908个赞
知道小有建树答主
回答量:2727
采纳率:63%
帮助的人:208万
展开全部
工具/原料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服务器,这时候应该正常了,如果还是提示内存溢出,只能是下面的这种情况了内存溢出的另外一种情况就是:电脑内存不够了!这种情况是很有可能发生了,出现内存溢出的时候大家可以检查一下。这种电脑内存不够,只能建议大家给电脑加一根内存条,不加就删除一些程序,清理一下电脑。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式