當前位置:編程學習大全網 - 源碼下載 - centos tomcat7 jvm的默認值是多少?

centos tomcat7 jvm的默認值是多少?

我的服務器的配置:

#操作系統特定支持。$var _must_設置為true或false。

JAVA _ OPTS = "-xms 1024m-xmx 4096m-XSS 1024k-XX:PermSize = 512m-XX:MaxPermSize = 2048m "

文本:

有兩種常見的內存溢出類型:

Java . lang . out of memory error:perm gen space

Java . lang . out of memory error:Java堆空間

-

以tomcat環境為例,其他WEB服務器如jboss、weblogic也是如此。

I. java.lang .內存不足錯誤:perm gen space

PermGen space是永久生成空間,指內存的永久存儲區域。

這個內存主要是JVM用來存儲類和元信息的,類在加載的時候會放入PermGen空間。

它不同於存儲類實例的堆區,在主程序運行時不會檢查GC(垃圾收集)。

PermGen空間被清除,所以如果應用程序中有許多類,很可能會出現PermGen空間錯誤。

當web服務器預編譯JSP時,這種錯誤很常見。如果妳的WEB APP下使用了大量的第三方jar,它們的大小是多少?

如果超過jvm的默認大小(4M),將會生成此錯誤消息。

解決方法:手動設置MaxPermSize。

建議:將同壹個第三方jar文件重定位到tomcat/shared/lib目錄,以減少jar文件的重復內存占用。

二、java.lang.out內存錯誤:java堆空間

JVM堆的設置是指在java程序運行過程中,JVM可以分配和使用的內存空間的設置。JVM會在啟動時自動設置堆大小的值。

它的初始空間(-Xms)是1/64物理內存,它的最大空間(-Xmx)是1/4物理內存。可以使用JVM提供的-Xmn -Xms -Xmx等選項。

進行設置。堆大小是年輕壹代和終身通用Aion的總和。

提示:如果JVM中98%的時間用於GC,而可用堆的大小小於2%,就會拋出這個異常消息。

提示:堆大小最多不應該超過可用物理內存的80%。通常情況下,應該將-Xms和-Xmx選項設置為相同的值,並且-Xmn是1/4的-Xmx值。

解決方案:手動設置堆大小。

-

在Linux下修改JVM內存大小;

添加到catalina.sh中tomcat的bin下,cygwin=false之前。註意引號,紅色的是新加的。

#操作系統特定支持。$var _must_設置為true或false。

JAVA _ OPTS = "-xms 256m-xmx 512m-XSS 1024k-XX:PermSize = 128m-XX:MaxPermSize = 256m "

cygwin=false

在windows下修改JVM內存大小;

案例壹:解壓後的tomcat版本只能通過startup.bat啟動Tomcat才能加載

待添加到catalina.bat在tomcat的bin下。

如果未定義,rem猜測CATALINA_HOME

Set CURRENT_DIR=%cd%是新增的,紅色的是新增的。

set JAVA _ OPTS =-xms 256m-xmx 512m-XX:PermSize = 128m-XX:MaxNewSize = 256m-XX:MaxPermSize = 256m-DJ ava . awt . headless = true

案例二:Tomcat安裝版本下沒有catalina.bat。

Windows服務執行bin/tomcat.exe,它讀取註冊表中的值,而不是catalina.bat的設置。

修改註冊表HKEY _本地_機器/軟件/Apache軟件基礎/Tomcat服務管理器/Tomcat 5/參數/Java選項。

原始值是

-dcatalina . home = " C:/Apache group/Tomcat 5.0 "

-DJ ava . approved . dirs = " C:/Apache group/Tomcat 5.0/common/approved "

-Xrs

Add -Xms300m -Xmx350m。

重新啟動tomcat服務,設置將生效。

-

每個參數的比例:

Xmx和PermSize之和不能超過JVM可用的總內存。

PermSize不能大於Xmx。

================

如何設置Tomcat的JVM虛擬機的內存大小

可以為Java虛擬機設置已用內存,但是如果選擇錯誤,虛擬機不會補償。您可以通過命令行更改虛擬機使用的內存大小。如下表所示,有兩個參數用於設置虛擬機使用的內存大小。

參數

形容

-Xms

JVM初始化堆的大小

-Xmx

JVM堆的最大值

這兩個值的大小壹般根據需要設置。初始化堆的大小實現了虛擬機在啟動時向系統請求的內存大小。壹般來說,這個參數不重要。但是,壹些應用程序在高負載下會迅速占用更多內存。這個時候,這個參數就很重要了。如果用於虛擬機啟動的內存相對較小,並且在這種情況下初始化了許多對象,則虛擬機必須重復增加內存以滿足使用。為此,我們壹般將-Xms和-Xmx設置為相同的大小,最大堆大小受系統使用的物理內存的限制。壹般情況下,使用大量數據的應用程序會使用持久對象,內存使用量可能會迅速增加。當應用需要的內存超過堆的最大值時,虛擬機會提示內存溢出,導致應用服務崩潰。因此,通常建議將堆的最大值設置為可用內存最大值的80%。

Tomcat默認可用內存為128MB,在較大的應用項目中不夠用,需要增加。

在Windows下的/bin/catalina.bat文件和Unix下的/bin/catalina.sh文件之前,添加以下設置:

JAVA_OPTS='-Xms初始化內存大小-Xmx可以使用的最大內存'

這兩個參數的值需要增加。例如:

JAVA _ OPTS = '-xms 256m-xmx 512m '

意味著初始化內存是256MB,可以使用的最大內存是512MB。

另壹個要考慮的是Java提供的垃圾收集機制。虛擬機的堆大小決定了虛擬機收集垃圾的時間和頻率。垃圾收集的可接受速度與應用程序有關,應該通過分析垃圾收集的實際時間和頻率來調整。如果堆很大,完整的垃圾收集會很慢,但是頻率會降低。如果您將堆的大小與內存需求相匹配,那麽完整的收集將會很快,但是會更頻繁。調整堆大小的目的是最大限度地減少垃圾收集的時間,從而在特定時間內最大限度地處理客戶請求。在基準測試中,為了保證最佳的性能,堆的大小應該設置得很大,以保證在整個基準測試過程中不會出現垃圾收集。

如果系統花費大量時間收集垃圾,請減小堆的大小。壹次完整的垃圾收集不應該超過3-5秒。如果垃圾收集成為瓶頸,需要指定代大小,檢查垃圾收集的詳細輸出,研究垃圾收集參數對性能的影響。壹般來說,應該使用80%的物理內存作為堆大小。添加處理器時,記得添加內存,因為分配可以並行完成,但垃圾收集不是並行的。

Tomcat 5的常見優化和配置

1,JDK內存優化:

Tomcat默認可以使用的內存是128 MB。在Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,以下設置被添加到文件{tomcat_home}/bin/catalina.sh之前:

JAVA_OPTS='-Xms[初始化內存大小] -Xmx[可以使用的最大內存]

壹般來說,應該使用80%的物理內存作為堆大小。

2.連接器優化:

在tomcat配置文件server.xml的配置中,與連接數相關的參數有:

最大線程數:

Tomcat使用線程來處理它收到的每個請求。該值表示Tomcat可以創建的最大線程數。默認值是150。

接受計數:

指定當用於處理請求的所有可用線程都被使用時,可以放入處理隊列的請求數。超過此數量的請求將不予處理。默認值是10。

minSpareThreads:

Tomcat初始化期間創建的線程數。默認值為25。

maxSpareThreads:

壹旦創建的線程超過這個值,Tomcat就會關閉不再需要的套接字線程。默認值為75。

啟用查找:

是否反向查詢域名,默認值為真。為了提高處理能力,應該將其設置為false。

連接超時:

網絡連接超時,默認值是60000,以毫秒為單位。設置為0意味著永遠不會超時,這是壹個隱患。通常可以設置為30000毫秒。

maxKeepAliveRequests:

保持請求數,默認值為100。

緩沖區大小:

輸入流緩沖區大小,默認值為2048字節。

壓縮:

壓縮傳輸,值開/關/力,默認值關。

與最大連接數相關的參數是maxThreads和acceptCount。如果要增加並發連接數,應該同時增加這兩個參數。web服務器允許的最大連接數還受操作系統內核參數設置的限制,通常Windows為2000左右,Linux為1000。

3.如何在tomcat中禁止和允許列目錄中的文件?

在{tomcat_home}/conf/web.xml中,只需將listings參數設置為false,如下所示:

& ltservlet & gt

...

& ltinit-param >

& ltparam-name & gt;列表& lt/param-name & gt;

& lt參數值& gtfalse & lt/param-value & gt;

& lt/init-param & gt;

...

& lt/servlet & gt;

4.如何在tomcat中禁止和允許主機或IP地址訪問?

& lt主機名= "本地主機"...& gt

...

& ltvalve class name = " org . Apache . catalina . valves . remotehostvalve "

allow="*.mycompany.com,www . your company . com "/& gt;

& ltvalve class name = " org . Apache . catalina . valves . remoteaddrvalve "

deny = " 192.168.1。* "/>;

...

& lt/Host & gt;

服務器的配置

JAVA _ OPTS = '-server-xms 512m-xmx 768m-XX:NewSize = 128m-XX:MaxNewSize = 192m-XX:survivor ratio = 8 '

  • 上一篇:dede首頁縮略圖如何自適應寬和高,200分懸賞
  • 下一篇:關於博客
  • copyright 2024編程學習大全網