成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

巧解Tomcat中JVM內存溢出問題

開發 后端
這里向大家描述一下Tomcat的JVM內存溢出問題的解決方法,有一個項目需要把把數據庫從mysql移植到oracle,可是當把jdbc連接指向oracle的時候,tomcat就連續拋java.lang.OutOfMemoryError的錯誤。

你對Tomcat 的JVM內存溢出問題的解決方法是否了解,這里和大家分享一下,相信本文介紹一定會讓你有所收獲。

tomcat 的JVM內存溢出問題的解決

最近在熟悉一個開發了有幾年的項目,需要把數據庫從mysql移植到oracle,首先把jdbc的連接指向mysql,打包放到tomcat里面,可以跑起來,沒有問題,可是當把jdbc連接指向oracle的時候,tomcat就連續拋java.lang.OutOfMemoryError的錯誤,上網google了一下,了解了一下tomcat的運行機制,也解決了問題,share出來,以備查。下面有幾種JVM內存溢出的現象和解決方法,請看詳細介紹。

1、JVM內存溢出現象提示一:java.lang.OutOfMemoryError:Javaheapspace

解釋:

Heapsize設置

JVM堆的設置是指java程序運行過程中JVM可以調配使用的內存空間的設置.JVM在啟動的時候會自動設置Heapsize的值,其初始空間(即-Xms)是物理內存的1/64,最大空間(-Xmx)是物理內存的1/4。可以利用JVM提供的-Xmn-Xms-Xmx等選項可進行設置。Heapsize的大小是YoungGeneration和TenuredGeneraion之和。

提示:在JVM中如果98%的時間是用于GC且可用的Heapsize不足2%的時候將拋出此異常信息。

提示:HeapSize最大不要超過可用物理內存的80%,一般的要將-Xms和-Xmx選項設置為相同,而-Xmn為1/4的-Xmx值。

解決方法:

手動設置Heapsize

修改TOMCAT_HOME/bin/catalina.bat,在“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行:
Java代碼 

  1. setJAVA_OPTS=%JAVA_OPTS%-server
  2. -Xms800m-Xmx800m-XX:MaxNewSize=256m 
  3. setJAVA_OPTS=%JAVA_OPTS%-server
  4. -Xms800m-Xmx800m-XX:MaxNewSize=256m 

或修改catalina.sh

在“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行: 

  1. JAVA_OPTS="$JAVA_OPTS-server-Xms800m  
  2. -Xmx800m-XX:MaxNewSize=256m"  

2、JVM內存溢出現象提示二:java.lang.OutOfMemoryError:PermGenspace

原因:
PermGenspace的全稱是PermanentGenerationspace,是指內存的永久保存區域,這塊內存主要是被JVM存放Class和Meta信息的,Class在被Loader時就會被放到PermGenspace中,它和存放類實例(Instance)的Heap區域不同,GC(GarbageCollection)不會在主程序運行期對PermGenspace進行清理,所以如果你的應用中有很CLASS的話,就很可能出現PermGenspace錯誤,這種錯誤常見在web服務器對JSP進行precompile的時候。如果你的WEBAPP下都用了大量的第三方jar,其大小超過了jvm默認的大小(4M)那么就會產生此錯誤信息了。

解決方法:

1.手動設置MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.bat(Linux下為catalina.sh),在Java代碼
“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行: 

  1. setJAVA_OPTS=%JAVA_OPTS%-server
  2. -XX:PermSize=128M-XX:MaxPermSize=512m 
  3.  

“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行: 

  1. setJAVA_OPTS=%JAVA_OPTS%-server  
  2. -XX:PermSize=128M-XX:MaxPermSize=512m 

catalina.sh下為:

Java代碼 

  1. JAVA_OPTS="$JAVA_OPTS-server  
  2. -XX:PermSize=128M-XX:MaxPermSize=512m"  
  3. JAVA_OPTS="$JAVA_OPTS-server  
  4. -XX:PermSize=128M-XX:MaxPermSize=512m"  

【編輯推薦】

  1. JVM內存泄漏問題產生及檢測方案
  2. 探究JVM1.6與JVM1.5性能差距
  3. 揭秘Java內存泄露與溢出的區別
  4. 全面認識Eclipse中JVM內存設置
  5. JVM啟動參數中標準參數列表速查手冊

 

責任編輯:佚名 來源: lampchina.net
相關推薦

2021-03-06 10:25:19

內存Java代碼

2024-04-25 10:06:03

內存泄漏

2021-02-03 15:12:08

java內存溢出

2010-09-17 13:45:40

JVM termina

2023-08-29 11:38:27

Java內存

2022-03-25 09:01:16

CSS溢出屬性

2010-09-27 10:20:09

JVMLinux

2010-10-08 15:53:42

2009-07-06 14:35:26

JVM可用內存JSP

2012-05-15 02:04:22

JVMJava

2025-06-16 07:40:00

2018-05-15 08:44:44

TensorFlowKeras內存

2009-07-08 15:31:58

MyEclipse 設

2009-08-11 09:16:00

2011-12-15 16:55:04

TomcatJavajsp

2019-12-10 08:59:55

JVM內存算法

2023-03-03 12:37:50

JavaJVM內存溢出

2015-12-28 11:41:57

JVM內存區域內存溢出

2009-08-16 16:11:05

2020-08-10 17:49:25

JVM內存溢出
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色国产在线视频 | 精品视频99 | 久久精品免费一区二区 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 亚洲成人免费在线 | 国产精品精品视频一区二区三区 | www.久久 | 91精品久久久久久久99 | 亚洲 一区| 国产精品视频一区二区三区四蜜臂 | 性视频网| 日本视频一区二区三区 | 国产91在线 | 中日 | 精品乱码一区二区三四区 | 国产成年人小视频 | 久久国产精品久久久久久 | 国产一级免费在线观看 | 在线观看av网站永久 | 久久网一区二区三区 | 国产一区二区观看 | 色婷婷国产精品 | 日本三级全黄三级三级三级口周 | 欧美电影免费观看 | 密色视频 | 国产精品一区二区无线 | 日韩高清中文字幕 | 精品国产第一区二区三区 | 中文字幕免费在线 | 久久久久久久久久性 | 美国黄色毛片 | 国产日韩欧美中文字幕 | 精品一级 | 亚洲精品二区 | 日韩精品 电影一区 亚洲 | 高清色视频 | 亚洲精品国产综合区久久久久久久 | 久久这里有精品 | 亚洲精品视频久久 | 久久久久久久久国产成人免费 | 亚洲一区二区中文字幕 | 国产精品av久久久久久毛片 |