linux 内存溢出解决办法
在生產環(huán)境中,tomcat內存設置不好很容易出現(xiàn)JVM內存溢,解決方法就是修改Tomcat中的catalina.sh文件。
在catalina.sh文件中,找到cygwin=false,在這一行的前面加入參數(shù),具體如下
# vi TOMCAT_HOME/bin/catalina.sh
?
JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m"
?
具體設置多大根據具體需求而定
其他說明:
1.“m”說明單位是MB,否則默認是KB
2.一般使用物理內存的80%作為堆大小
3.一般把-Xms和-Xmx設為一樣大
4.一般把-Xmn設置為-Xmx值的1/4
5.一般將堆的總大小的50%到60%分配給新生成的池
三、jvm參數(shù)說明:
-server 一定要作為第一個參數(shù),啟用JDK的server版本,在多個CPU時性能佳
-Xms java Heap初始大小。 默認是物理內存的1/64。
-Xmx java heap最大值。建議均設為物理內存的80%。不可超過物理內存。
-Xmn java heap最小值,一般設置為Xmx的3、4分之一。
-XX:PermSize 設定內存的永久保存區(qū)初始大小,缺省值為64M。
-XX:MaxPermSize 設定內存的永久保存區(qū)最大大小,缺省值為64M。
-XX:SurvivorRatio=2 生還者池的大小,默認是2。如
-XX:NewSize 新生成的池的初始大小。 缺省值為2M。
-XX:MaxNewSize 新生成的池的最大大小。 缺省值為32M。
+XX:AggressiveHeap 讓jvm忽略Xmx參數(shù),瘋狂地吃完一個G物理內存,再吃盡一個G的swap。
-Xss 每個線程的Stack大小
-verbose:gc 現(xiàn)實垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
-XX:+UseParNewGC 縮短minor收集的時間
-XX:+UseConcMarkSweepGC 縮短major收集的時間
-XX:userParNewGC 可用來設置并行收集(多CPU)
-XX:ParallelGCThreads 可用來增加并行度(多CPU)
-XX:UseParallelGC 設置后可以使用并行清除收集器(多CPU)
總結
以上是生活随笔為你收集整理的linux 内存溢出解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分段概率密度矩估计_结合2018考研数学
- 下一篇: git 推送出现 quot;fatal: