成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_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国内精品久久久久久久
亚洲人人精品| 性做久久久久久免费观看欧美| 亚洲日本va午夜在线影院| 91亚洲精品久久久蜜桃| 欧美一区二区国产| 国产一区福利在线| 欧美日韩一区二区在线观看 | 视频一区二区三区入口| 国产日韩亚洲| 亚洲综合另类小说| 免费日韩一区二区| 亚洲激情图片小说视频| 正在播放亚洲| 亚洲一线二线三线久久久| 一区二区三区欧美在线| 一区二区欧美国产| 久久久精品日韩| 美女国产一区二区三区| 欧美日韩免费一区二区三区| 国产一区二区91| 日韩免费一区二区三区在线播放| 成人中文字幕电影| 久久久久9999亚洲精品| 午夜精品国产| 亚洲欧美电影一区二区| 亚洲自啪免费| 人禽交欧美网站| 欧美高清视频在线高清观看mv色露露十八 | 亚洲综合视频网| 免费在线成人av| 蜜桃久久久久久久| 91麻豆精品国产91久久久久久| 成人精品免费看| 欧美国产欧美亚州国产日韩mv天天看完整| 国内精品一区二区| 亚洲午夜一二三区视频| 欧美专区日韩专区| 国产高清在线精品| 久久婷婷国产综合国色天香| 国内一区二区在线视频观看| 亚洲动漫第一页| 欧美日韩精品系列| 成人听书哪个软件好| 国产无一区二区| 国产精品久久波多野结衣| 久久精品久久99精品久久| 欧美r级电影在线观看| 一区国产精品| 久久精品国产一区二区三| 欧美成人激情免费网| 国产精品成人一区二区网站软件| 亚洲韩国一区二区三区| 色噜噜偷拍精品综合在线| 国产精品夜夜爽| 中文字幕日韩一区| 亚洲激情偷拍| 精品亚洲aⅴ乱码一区二区三区| 久久综合久色欧美综合狠狠| 99视频一区| 黄色成人免费在线| 国产精品久久久久久久久免费相片| 亚洲免费影院| 国产一区二区三区黄视频| 国产女主播一区| 免费视频久久| 成人avav影音| 亚洲一区二区偷拍精品| 欧美精品一二三| 欧美另类一区| 日日夜夜精品视频免费| 久久综合久久综合亚洲| 亚洲综合日本| 波多野结衣中文字幕一区二区三区| 一区二区三区在线免费播放| 日韩一级黄色大片| 亚洲在线网站| 91免费观看在线| 青青草国产精品亚洲专区无| 久久精品人人做人人爽97| 色乱码一区二区三区88| 欧美日韩喷水| 精品一区二区av| 国产精品理论片在线观看| 欧美色偷偷大香| 伊人久久成人| 国产精品一级在线| 亚洲一区二区视频在线观看| 精品国产自在久精品国产| 久久久久久久久久久一区| 色综合天天综合网天天狠天天| 日韩在线一区二区| 国产欧美精品一区| 欧美日韩aaa| 制服诱惑一区二区| 99国产精品99久久久久久| 五月天激情综合| 国产欧美一区二区精品婷婷| 日本高清不卡视频| 欧美bbbxxxxx| 国产综合一区二区| 亚洲影视在线观看| 国产欧美日产一区| 欧美美女网站色| 国产精品一区视频| 亚洲欧美综合一区| 国产乱色国产精品免费视频| 亚洲高清不卡在线观看| 中文字幕不卡的av| 日韩欧美卡一卡二| 在线欧美一区二区| 亚洲另类黄色| 欧美a级一区| 国产在线一区观看| 亚洲一区二区三区四区五区中文 | 精品福利一二区| 日本精品一区二区三区高清 | 日韩欧美国产精品| 色综合久久88色综合天天| 含羞草久久爱69一区| 国产精品一卡二| 日韩高清一级片| 中文字幕欧美国产| 日韩欧美一区中文| 欧美日韩在线不卡| 免费日韩一区二区| 亚洲黄色免费| 欧美/亚洲一区| 国产91精品一区二区麻豆网站| 另类小说综合欧美亚洲| 亚欧色一区w666天堂| 亚洲男人都懂的| 国产精品久久一卡二卡| 久久久综合九色合综国产精品| 91精品国产一区二区三区蜜臀 | 精品视频在线视频| 一区二区高清视频| 国产精品啊v在线| 91麻豆高清视频| 成人教育av在线| 国产精品一区二区久久精品爱涩| 水野朝阳av一区二区三区| 亚洲情趣在线观看| 国产精品美女视频| 久久久久久麻豆| 精品av综合导航| 日韩欧美综合一区| 欧美日韩国产另类一区| 欧美专区日韩专区| 色婷婷久久久亚洲一区二区三区| 亚洲视频导航| 一区二区三区福利| 一本色道久久| 国产日韩免费| 亚洲少妇在线| 国产精品夜夜夜一区二区三区尤| 亚洲人成人一区二区三区| 国内激情久久| 国内精品久久久久久久97牛牛| 午夜国产精品视频免费体验区| av激情综合网| 99精品视频中文字幕| 国产成人免费高清| 粉嫩欧美一区二区三区高清影视| 国产大片一区二区| 国产成人h网站| 国产白丝网站精品污在线入口| 国产精品一区二区无线| 国产酒店精品激情| 国产成人午夜精品影院观看视频 | 99久久精品国产观看| 99在线热播精品免费| 99久久99精品久久久久久| 色综合天天综合狠狠| 欧美午夜一区| 激情综合激情| 一区二区三区国产在线| 男人的天堂亚洲| 色94色欧美sute亚洲线路一久 | 亚洲欧美日本韩国| 一区二区三区丝袜| 偷窥少妇高潮呻吟av久久免费| 日本不卡一区二区三区| 美女网站在线免费欧美精品| 久久疯狂做爰流白浆xx| 国产乱子伦一区二区三区国色天香| 国产麻豆午夜三级精品| 成人免费看黄yyy456| 99久久er热在这里只有精品15 | 亚洲国产高清一区| 国产精品乱码| 一本久久精品一区二区| 欧美日韩高清在线| 精品日韩一区二区三区免费视频| 国产性天天综合网| **网站欧美大片在线观看| 亚洲伊人色欲综合网| 免费观看30秒视频久久| 久久99久国产精品黄毛片色诱| 精品一区二区三区影院在线午夜| 丁香天五香天堂综合|