修改TOMCAT的JVM虛擬機內存大小的三種方法
修改TOMCAT的JVM虛擬機內存大小幾種方式
Tomcat默認可以使用的內存為128MB,在較大型的應用項目中,這點內存是不夠的,需要調大。
經常會出現Java.lang.OutOfMemoryError: Java heap space 即JVM Heap溢出的錯誤。
對此有以下幾種方法可以選用:
第一種方法:修改catalina.bat/catalina.sh文件
1.linux 下調整tomcat的內存設置 修改bin目錄下catalina.sh文件 在cygwin=false之上 添加以下語句 JAVA_OPTS="-Xms1024m -Xmx4096m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m" 其中-xms為jvm初始化堆的大小,-xmx為jvm堆的最大值 2. window 下調整tomcat的內存設置 修改bin目錄下catalina.bat文件@echo off下追加 set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M 3.eclipse下修改外置tomcat的內存設置 open launch configuration=>arguments=>vm arguments 追加-Xms1024M -Xmx4096M -XX:PermSize=512m -XX:MaxPermSize=2048m
第二種方法:環(huán)境變量中設置
變量名:JAVA_OPTS 變量值:-Xms512m-Xmx512m (服務器內存大小為32G) 變量值:-Xms512M -Xmx2048M -XX:PermSize=512M -XX:MaxPermSize=2048M -XX:ReservedCodeCacheSize=512m
前兩種方法針對的是bin目錄下有catalina.bat的情況(比如直接解壓的Tomcat等)并且通過startup.bat/startup.sh啟動才生效,但是有些安裝版的Tomcat下沒有catalina.bat,這個時候可以采用如下方法,當然這個方法也是最通用的方法:
第三種方法:通過D:apache-tomcat-8.0.52-windows-x64apache-tomcat-8.0.52in omcat8w.exe,配置內存大小
1》打開D:apache-tomcat-8.0.52-windows-x64apache-tomcat-8.0.52in omcat8w.exe, 2》點擊Java選項卡,然后將會發(fā)現其中有這么兩項:Initialmemorypool和Maximummemorypool.Initialmemorypool這個就是初始化設置的內存的大小。 3》Maximummemorypool這個是最大內存的大小設置完了就按確定然后再重啟TOMCAT你就會發(fā)現tomcat中jvm可用的內存改變了。
另外需要考慮的是Java提供的垃圾回收機制。虛擬機的堆大小決定了虛擬機花費在收集垃圾上的時間和頻度。收集垃圾可以接受的速度與應用有關,應該通過分析實際的垃圾收集的時間和頻率來調整。如果堆的大小很大,那么完全垃圾收集就會很慢,但是頻度會降低。如果你把堆的大小和內存的需要一致,完全收集就很快,但是會更加頻繁。調整堆大小的的目的是最小化垃圾收集的時間,以在特定的時間內最大化處理客戶的請求。在基準測試的時候,為保證最好的性能,要把堆的大小設大,保證垃圾收集不在整個基準測試的過程中出現。
如果系統花費很多的時間收集垃圾,請減小堆大小。一次完全的垃圾收集應該不超過3-5秒。如果垃圾收集成為瓶頸,那么需要指定代的大小,檢查垃圾收集的詳細輸出,研究垃圾收集參數對性能的影響。一般說來,你應該使用物理內存的80%作為堆大小。當增加處理器時,記得增加內存,因為分配可以并行進行,而垃圾收集不是并行的。
以上就是修改TOMCAT的JVM虛擬機內存大小的三種方法的詳細內容,更多關于修改TOMCAT JVM內存大小的資料請關注腳本之家其它相關文章!
相關文章
IDEA2021 tomcat10 servlet 較新版本踩坑問題
這篇文章主要介紹了IDEA2021 tomcat10 servlet 較新版本踩坑問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04Eclipse添加新server時無法選擇Tomcat7的解決方法
有朋友會遇到在New Server對話框中選擇了Tomcat 6/7后卻無法單擊“Next”按鈕的問題,接下來通過本文給大家分享Eclipse添加新server時無法選擇Tomcat7的解決方法,需要的朋友參考下2017-01-01