成人免费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-10-08 15:53:42

2010-09-27 10:20:09

JVMLinux

2009-07-06 14:35:26

JVM可用內存JSP

2025-06-16 07:40:00

2012-05-15 02:04:22

JVMJava

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內存溢出

2009-08-16 16:11:05

2015-12-28 11:41:57

JVM內存區域內存溢出

2021-12-24 10:17:54

Java數據時間戳
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产一区二区在线观看 | 中文字幕成人av | 日本三级线观看 视频 | 久久99国产精品 | 日本不卡一二三 | 91亚洲欧美| 亚洲欧美精品国产一级在线 | 中文精品视频 | 免费一区二区三区在线视频 | 日本啊v在线 | 亚洲一区中文字幕 | www.国产| 久久精品一区二区三区四区 | av大片 | 日韩免费网 | 日日夜夜精品视频 | 成人在线免费观看视频 | 亚洲人的av| 国产精品久久久久久久久免费樱桃 | 精品国产视频在线观看 | 天天干天天爽 | 精品日韩一区二区三区av动图 | 日韩免费网 | 一区二区高清不卡 | 一区二区福利视频 | 亚洲精品日韩在线 | 91精品午夜窝窝看片 | av成人在线观看 | 国产一区www| 国产乱码精品一区二区三区忘忧草 | 久久久91精品国产一区二区精品 | 精品国产18久久久久久二百 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 久久精品小短片 | 国产精品小视频在线观看 | 亚洲视频免费在线播放 | 无码日韩精品一区二区免费 | 日韩欧美电影在线 | 亚洲最色视频 | 91视频麻豆 | 伊人网伊人网 |