首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么tomcat7使用这么多内存?

为什么tomcat7使用这么多内存?
EN

Server Fault用户
提问于 2018-07-01 05:18:00
回答 2查看 9.2K关注 0票数 1

我的服务器只有65 My中的.5GB空闲内存。

代码语言:javascript
复制
             total       used       free     shared    buffers     cached
Mem:         64375      63788        587          0         70      11503
-/+ buffers/cache:      52213      12161
Swap:        67583       6923      60660

Tomcat正在使用大约22 is的内存。

代码语言:javascript
复制
root     19915  2.9 36.4 42514364 24036804 ?   Sl   Jun21 433:25 /usr/jdk1.6.0_25/bin/java 
   -Djava.util.logging.config.file=/usr/local/apache-tomcat-7.0.11/conf/logging.properties 
   -server -Xms2048m -Xmx22528m -XX:MaxPermSize=2048m
   -XX:PermSize=512m -XX:MaxNewSize=512m -XX:NewSize=512m -Xnoclassgc
   -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
   -Djava.endorsed.dirs=/usr/local/apache-tomcat-7.0.11/endorsed 
   -classpath /usr/local/apache-tomcat-7.0.11/bin/bootstrap.jar:
              /usr/local/apache-tomcat-7.0.11/bin/tomcat-juli.jar
   -Dcatalina.base=/usr/local/apache-tomcat-7.0.11 
   -Dcatalina.home=/usr/local/apache-tomcat-7.0.11 
   -Djava.io.tmpdir=/usr/local/apache-tomcat-7.0.11/temp 
   org.apache.catalina.startup.Bootstrap start

其他应用程序正在使用少量内存。我不明白发生了什么事。如果tomcat中有内存泄漏,那么如何确认它并修复它。

EN

回答 2

Server Fault用户

发布于 2018-07-01 06:11:57

不要盯着freeLinux吃了你的内存栏进行磁盘缓存(cached 11503)。只要cached是高的,而swap used是低的,您就不会内存不足。

Tomcat有内存泄漏的问题--通常不是它自己的代码库,而是写得不好的应用程序。这里不一定是这样的。Tomcat 7有MemoryLeakProtection,您可以使用它来进一步研究这个问题:

从tomcat 6.0.25开始,管理员webapp有一个新的“查找泄漏”按钮。触发时,它会显示已经停止的When应用程序列表(它们的上下文路径)(这包括未部署和重新部署的When应用),但类加载程序的类加载程序不能是GCed。如果一个泄漏的webapp被重新部署了几次,它将出现的次数和它实际泄漏的次数一样多。

票数 4
EN

Server Fault用户

发布于 2018-07-01 06:50:25

Tomcat使用的内存为22 is,因为您的-Xmx (JVM大小)值非常大。

如果可能的话,您应该从将此值降到2048、4096或8192开始,这取决于您的应用程序内存需求,并查看最佳位置是什么。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/919009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档