成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

淺談Tomcat內存配置的正確姿勢

瀏覽:656日期:2023-03-19 16:51:01

1.背景

雖然閱讀了各大牛的博客或文章,但并沒有找到特別全面的關于JVM內存分配方法的文章,很多都是復制黏貼

為了嚴謹,本文特別備注只介紹基于HotSpot VM虛擬機,并且基于JDK1.7的內存分配情況,有關GC的說法也是基于CMS的concurrent collection(而非G1),防止大牛拍磚.

目前主流的JVM就是HotSpot VM(其次還有J9 VM,Zing VM),目前各類博客文章也大多基于JDK1.7以前的版本進行闡述的.

(注:因為不同的虛擬機實現,不同的JDK,內存的分布都不一樣,也就是說下面文章中提到的內存結構都只是邏輯結構,并不是內存的物理結構)

本文只介紹內存分配的方法,有關于具體的垃圾回收機制,內存結構的原理不作為本文重點,也希望通過本文讓大家對JVM有一點點的認知,小編對JVM理解并不透徹,不想誤人子弟。

2.內存總體結構

如果只是為了解決問題,不想了解其中緣由的請跳過本章節

本文介紹的是垃圾回收的內存區域的結構(簡稱GC堆,不包括程序計數器,棧,本地方法棧),引用一個大牛的說法《一個java對象的這一輩子》

我是一個普通的Java對象,我出生在Eden區,在Eden區我還看到和我長的很像的小兄弟(其他java對象),我們在Eden區中玩了挺長時間。有一天Eden區中的人實在是太多了(會觸發Young GC,每次GC加一歲)),我就被迫去了Survivor區的“From”區,自從去了Survivor區,我就開始漂了,有時候在Survivor的“From”區,有時候在Survivor的“To”區,居無定所(每次Young GC都需要Survivor區中的from區和to區"對調")。直到我18歲的時候(進行了18次Young GC),爸爸說我成人了,該去社會上闖闖了。于是我就去了年老代那邊,年老代里,人很多,并且年齡都挺大的,我在這里也認識了很多人。在年老代里,我生活了20年,然后被回收(Old GC)。

解釋一下,首先內存總體分為年輕代(young),老年代(old),永久代(permanent),如下圖

年輕代:(針對年輕代的垃圾回收我們簡稱Young GC)

年輕代分為eden區,survivor區

1.eden區,是new Object(),對象誕生的地方

2.survivor區是經過垃圾回收后的仍存活的對象存儲區域,survivor區中又分為from區和to區

2.1.from區: 經過GC回收,eden區和to區仍存活的對象會存放在from區

2.2.to區: 經過GC回收,eden區和from區仍存活的對象會轉移到to區

2.3.正因為2.1和2.2的操作,所以from區和to區中的存活對象來回轉移,并且始終有一個區是空的

老年代:(針對老年代的垃圾回收簡稱Old GC)

經過18次Young GC后年輕代中仍存活的對象,會從年輕代中轉移到老年代

老年代滿了之后,會觸發Old GC,仍存活的對象繼續保留在老年代中,直到經過20次Old GC進行回收

永久代:(針對年輕代+老年代+永久代的回收簡稱Full GC)

是HotSpot VM針對Java方法區的一個實現,通常存儲類信息、常量池、靜態變量、JIT編譯后的代碼等數據(簡單理解成編譯代碼的存儲區域,即可以理解成:我們的java項目運行時,加載的類文件越多,則需要的永久代內存空間越大)

(注:據說永久代是Hotspot虛擬機特有的概念,別的JVM都沒有這個東西,在Java 8中,永久代被徹底移除,取而代之的是另一塊與堆不相連的本地內存——元空間)

3.通常內存問題解釋

常見問題一 java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出

原因:項目運行階段,new的對象過多,撐滿了配置的最大內存,會出現該錯誤

解決方法:手動設置Xms ,Xmx 的大小.

常見問題二 java.lang.OutOfMemoryError: PermGen space ----PermGen space (永久代) 溢出

原因:開發的項目Java文件比較多的時候,會出現該錯誤(即項目很大,被JVM加載的文件很多)

解決方法:手動設置MaxPermSize大小.

常見問題三 java.lang.StackOverflowError ---- 棧溢出

原因:通常都是某個代碼邏輯遞歸層次太多導致的,

解決方法:修改遞歸代碼,控制遞歸層數

4.內存分配方法(建議,非藥到病除)

本文只介紹常用的一些配置參數,通常情況下永久代不算堆內存(單獨占用另一塊內存),新生代占年老代的1/2,即占整個堆內存的1/3,按照這個原則我們給出一個配置例子。

比如服務器可以提供1G的內存以供項目使用,依據上圖我們給出如下配置。

運行模式:

-server 服務器模式,多CPU時,性能更佳

新生代與老年代:(通常不單獨配置新生代與老年代,所以直接配置整個內存堆大小即可)

-Xms384m 內存堆初始的內存空間

-Xmx768m 內存堆最大內存空間

永久代:(新生代,老年代配置剩余的內存留給永久代)---注意jdk1.8已移除

-XX:PermSize=128m 永久代初始化大小

-XX:MaxPermSize=256m 永久代最大的內存空間(默認為64m)

4.不同環境下的Tomcat內存配置方法

前面已經進行各類內存問題的詳解以及配置參數的簡要介紹,下面我們介紹一下各種環境下的具體配置方法.

1. 使用命令行啟動的tomcat:

修改TOMCAT_HOME/bin/catalina.sh(windows中是catalina.bat), 在文件上方添加如下語句

JAVA_OPTS="-server -Xms384m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m"

2.如果tomcat注冊成了windows服務,使用tomcat目錄中的/bin/tomcat8w.exe修改就可以了.如下圖

3.如果是使用myeclipse開發中,啟動tomcat,上述的修改就不起作用了,可進行如下設置:

Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的Optional Java VM arguments中添加如下內容:

-server -Xms384m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m

最后說兩句:

不管配置什么,以及配置的參數值是多少,都需要根據實際項目不斷的調試,不要輕易放棄.

比如tomcat的內存配置,也不是越大越好,適合項目/適合服務器配置才是最好的

到此這篇關于淺談Tomcat內存配置的正確姿勢的文章就介紹到這了,更多相關Tomcat內存配置內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Tomcat
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
中文字幕一区二区三区不卡| 日韩毛片一二三区| 欧美午夜片在线观看| 亚洲欧美偷拍三级| 一区在线免费观看| 久久嫩草精品久久久精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 午夜亚洲视频| 一区二区三区在线不卡| 在线日韩欧美| 亚洲欧美日韩国产手机在线| 一区视频在线| 亚洲人精品午夜| 亚洲天堂黄色| 日韩码欧中文字| 一区二区亚洲| 亚洲人成7777| 亚洲精品久久| 亚洲色图清纯唯美| 亚洲理伦在线| 一区二区成人在线| 在线视频一区观看| 亚洲精品国产高清久久伦理二区| 在线欧美一区| 亚洲免费观看高清完整版在线观看| 亚洲国产午夜| 亚洲最大成人综合| 久久成人国产| 美女一区二区三区在线观看| 欧美性色综合网| 国内成人免费视频| 欧美一二三区在线| 成人精品一区二区三区中文字幕| 精品剧情在线观看| 91美女片黄在线| 国产精品久久久久永久免费观看| 韩日成人av| 亚洲男同1069视频| 亚洲欧美视频一区二区三区| 日本亚洲三级在线| 欧美日韩卡一卡二| 国产成人8x视频一区二区 | 免费成人性网站| 欧美午夜精品一区二区蜜桃| 激情文学综合丁香| 日韩欧美的一区| 欧美连裤袜在线视频| 亚洲女同女同女同女同女同69| 国产精品区一区| 麻豆专区一区二区三区四区五区| 91精品国产综合久久香蕉麻豆| 成人中文字幕电影| 中文字幕一区二区三区在线播放| 亚洲欧美日韩视频二区 | 91丝袜美女网| 国产精品免费视频网站| 国产美女一区| 精品一区二区三区视频| 欧美一二三四区在线| 欧美在线黄色| 一区二区三区四区蜜桃| 欧美性色欧美a在线播放| 成人av电影在线观看| 中文字幕一区二区三区av| 久久综合狠狠| 国产成+人+日韩+欧美+亚洲| 国产精品免费视频网站| 久久久久免费| 成人免费高清在线| 亚洲乱码国产乱码精品精的特点 | 麻豆av一区二区三区| 老司机精品视频导航| 精品久久一区二区三区| 在线日韩欧美| 国产一区激情在线| 国产精品伦理在线| 久久99伊人| 国产成都精品91一区二区三| 亚洲欧洲在线观看av| 欧日韩精品视频| 欧美一区在线看| 亚洲成人一区二区| 欧美一区二区三区啪啪| 国产精品igao视频网网址不卡日韩| 亚洲无线码一区二区三区| 日韩欧美一区二区视频| 99国产精品私拍| 国产精品亚洲综合一区在线观看| 中文字幕+乱码+中文字幕一区| 色婷婷综合久久久久中文一区二区 | 久久久久久久一区| 国产欧美日韩视频一区二区三区| 久久精品国产网站| 国产精品乱码人人做人人爱| 在线视频欧美精品| 欧美福利影院| 麻豆国产欧美日韩综合精品二区| 中文av字幕一区| 欧美喷水一区二区| 一本色道久久综合| 国产不卡在线播放| 午夜精彩视频在线观看不卡| 国产亚洲欧美激情| 欧美三级一区二区| 亚洲看片一区| 成人av电影免费在线播放| 日产精品久久久久久久性色| 国产精品视频你懂的| 51精品秘密在线观看| 亚洲专区一区二区三区| 99国产精品国产精品毛片| 日韩精品一级中文字幕精品视频免费观看 | 国产欧美日韩在线播放| 国产福利一区二区三区| 亚洲图片欧美视频| 国产欧美一区二区三区沐欲| 欧美群妇大交群的观看方式| 亚洲在线播放| 午夜国产精品视频| 国产成人自拍在线| 日本午夜精品视频在线观看| 亚洲人成网站精品片在线观看| 欧美tickling网站挠脚心| 久久综合伊人| 亚洲精品看片| 色综合天天性综合| 国产一区在线观看视频| 亚洲午夜免费视频| 亚洲欧美自拍偷拍| 久久综合久色欧美综合狠狠| 欧美日韩视频不卡| 久久综合伊人| 亚洲视频导航| 伊人久久大香线蕉综合热线| 99久久精品免费看国产免费软件| 极品美女销魂一区二区三区| 日韩不卡手机在线v区| 一区二区三区四区不卡视频| 国产精品免费视频一区| 久久综合精品国产一区二区三区| 5566中文字幕一区二区电影| 色www精品视频在线观看| 国产精品毛片| 亚洲国产二区| 欧美日韩视频| 91浏览器在线视频| 丁香五精品蜜臀久久久久99网站| 美女mm1313爽爽久久久蜜臀| 首页国产丝袜综合| 一级女性全黄久久生活片免费| 国产精品国产精品国产专区不片| 久久久美女毛片| 精品国偷自产国产一区| 欧美一区二区三区系列电影| 欧美男男青年gay1069videost| 在线亚洲高清视频| 91精品91久久久中77777| 香蕉久久久久久久av网站| 国产欧美韩日| 99热在线精品观看| 亚洲日本成人| av不卡免费看| 一区二区三区福利| 亚洲国产日韩美| 黄色精品网站| 亚洲欧洲日本国产| 日韩午夜激情| 国产一区二区三区高清| 亚洲视频二区| 久久xxxx精品视频| 色婷婷亚洲婷婷| 欧美在线观看一二区| 欧美在线影院一区二区| 欧美午夜影院一区| 欧美老肥妇做.爰bbww视频| 欧美日韩国产a| 91精品久久久久久久91蜜桃| 欧美一区二区在线免费观看| 日韩欧美一区中文| 26uuu欧美日本| 亚洲国产高清在线| 一区精品在线播放| 一区二区三区四区国产精品| 亚洲自拍偷拍九九九| 亚洲最色的网站| 午夜精品视频一区| 免费欧美在线视频| 国产一区二区女| av亚洲精华国产精华| 91啦中文在线观看| 狠狠色狠狠色综合人人| 亚洲第一毛片| 亚洲综合首页| 欧美在线一区二区三区| 欧美日韩精品久久久| 欧美一区二区精品| 国产亲近乱来精品视频| 亚洲欧美日韩国产一区二区三区| 亚洲狠狠爱一区二区三区| 日韩电影在线一区二区三区|