我的服务器只有65 My中的.5GB空闲内存。
total used free shared buffers cached
Mem: 64375 63788 587 0 70 11503
-/+ buffers/cache: 52213 12161
Swap: 67583 6923 60660Tomcat正在使用大约22 is的内存。
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中有内存泄漏,那么如何确认它并修复它。
发布于 2018-07-01 06:11:57
不要盯着free:Linux吃了你的内存栏进行磁盘缓存(cached 11503)。只要cached是高的,而swap used是低的,您就不会内存不足。
Tomcat有内存泄漏的问题--通常不是它自己的代码库,而是写得不好的应用程序。这里不一定是这样的。Tomcat 7有MemoryLeakProtection,您可以使用它来进一步研究这个问题:
从tomcat 6.0.25开始,管理员webapp有一个新的“查找泄漏”按钮。触发时,它会显示已经停止的When应用程序列表(它们的上下文路径)(这包括未部署和重新部署的When应用),但类加载程序的类加载程序不能是GCed。如果一个泄漏的webapp被重新部署了几次,它将出现的次数和它实际泄漏的次数一样多。
发布于 2018-07-01 06:50:25
Tomcat使用的内存为22 is,因为您的-Xmx (JVM大小)值非常大。
如果可能的话,您应该从将此值降到2048、4096或8192开始,这取决于您的应用程序内存需求,并查看最佳位置是什么。
https://serverfault.com/questions/919009
复制相似问题