国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
resin的JVM參數(shù)調(diào)整
 resin的JVM參數(shù)調(diào)整
 
<!-- - JVM 參數(shù)設(shè)置 -->
<jvm-arg>-Xms 512 m</jvm-arg>
( jvm 最小內(nèi)存,也是啟動 resin后的默認(rèn)內(nèi)存分配值)
<jvm-arg>-Xmx 512 m</jvm-arg> <!-- make ms=mx to reduce GC times -->
( jvm最大內(nèi)存,當(dāng)內(nèi)存使用超過 Xms分配的值之后會自動向這個最大值提升,一般配置成最大最小值相等,理論上能夠降低 GC 垃圾收集的時間,可按實際進(jìn)行配置)
<jvm-arg>-Xmn 86 m</jvm-arg>
(內(nèi)存分配增量,當(dāng)內(nèi)存需求超過 Xms值之后進(jìn)行第一次分配請求的內(nèi)存值,一般為 Xmx的 1/3-1/4 ;開始時候可以先屏蔽,當(dāng)應(yīng)用出現(xiàn)OutOfMemory的時候再打開也可以)
<jvm-arg>-XX:MaxNewSize= 256 m</jvm-arg>
<jvm-arg>-XX:PermSize= 128 m</jvm-arg>
<jvm-arg>-XX:MaxPermSize= 256 m</jvm-arg>
(以上三項是為了減少 OutOfMemory 而配置的,是每個 java編譯執(zhí)行的時候最多能一次申請 jvm 內(nèi)存空間的值,以上默認(rèn)配置基本夠用,但依然出OutOfMemory 的時候可以適當(dāng)調(diào)大,但不能超越 Xmx的值;開始時候可以先屏蔽,當(dāng)應(yīng)用出現(xiàn) OutOfMemory的時候再打開也可以)
<jvm-arg>-Xss256k</jvm-arg> <!-- jvm Stack config -->
<jvm-arg>-Djava.awt.headless=true</jvm-arg> < (允許使用驗證碼)
<jvm-arg>-Djava.net.preferIPv4Stack=true</jvm-arg> <!-- disable IPv6 -->
<jvm-arg>-Doracle.jdbc.V8Compatible=true</jvm-arg>(針對 oracle10的兼容配置)
<watchdog-arg>-Dcom.sun.management.jmxremote</watchdog-arg>

<!-- 強制 resin 強制重起時的最小空閑內(nèi)存 -->
<memory-free-min> 2 M</memory-free-min>

<!-- 最大線程數(shù)量 . -->
<thread-max>256</thread-max>

<!-- 套接字等待時間 -->
<socket-timeout>65s</socket-timeout>

<!-- 配置 keepalive -->
<keepalive-max>128</keepalive-max>
<keepalive-timeout>15s</keepalive-timeout>
 
Resin 中 JVM 的分析
JVM 虛擬內(nèi)存
JVM 虛擬內(nèi)存與系統(tǒng)內(nèi)存的關(guān)系圖:
 
 
-Xms 初始化 jvm 的時候從系統(tǒng)內(nèi)存劃分的 heap 內(nèi)存數(shù)量
-Xmx jvm 最大能使用的 heap 內(nèi)存數(shù)量
-Xmn ( -XX:NewSize/ -XX:MaxNewSize )年輕代占 heap 的內(nèi)存數(shù)量
-XX:PermSize / -XX:MaxPermSize 持久代占用的系統(tǒng)內(nèi)存數(shù)量
-Xss 單 個線程 堆棧 占的內(nèi)存量,跟線程數(shù)相關(guān)
整個 JVM 的工作流程是:新的線程在 Eden 生成; Eden 滿,把有經(jīng)常訪問的資
源放在 SO1 中,對 Eden 進(jìn)行空間回收;當(dāng) SO1 滿,將常使用的資源放到 SO2 ,對 SO 1
的空間進(jìn)行回收;當(dāng) SO2 滿,將經(jīng)常訪問的資源放到 Old ,對 SO2 進(jìn)行空間回收;
按一定的規(guī)則對 Old 的資源進(jìn)行處理。(為了容易記憶,我們可以對 SO1 、 SO2 、 O ld
起個其他的名字,分別是 幸存者 1 區(qū),幸存者 2 區(qū)和養(yǎng)老區(qū) )
簡單概括為: Heap 設(shè)定與垃圾回收 Java Heap 分為 3 個區(qū), New , Old 和
Permanent 。 New 保存剛實例化的對象。當(dāng)該區(qū)被填滿時, GC 會將對象移到 Old 區(qū) 。
Permanent 區(qū)則負(fù)責(zé)保存反射對象。 ( Perm 區(qū)在過去持久化沒有使用的年代默認(rèn) 的
配置已經(jīng)足夠使用,但現(xiàn)在要注意該區(qū)的情況,有可能 OOM--out of menery 就
是由于它而發(fā)生)
從上面的 JVM 工作機制,我們可以看出對 JVM 的優(yōu)化主要在于: JVM-- 垃
圾收集。
注意: Heap 大小并不決定進(jìn)程的內(nèi)存使用量。進(jìn)程的內(nèi)存使用量要大于 -Xmx 定義的值,
因為 Java 為其他任務(wù)分配內(nèi)存,例如每個線程的 Stack 等。
 
日常遇到的OOM和頻繁發(fā)生GC 情況分析
java.lang.OutOfMemoryError: Java heap space
heap 空間不足,可能是 -Xmx 配得過大,或者系統(tǒng)內(nèi)存不足或泄漏

java.lang.OutOfMemoryError: PermGen space
持久代內(nèi)存不足,存在大量系統(tǒng)類被加載或 jpa 等架構(gòu)頻繁使用,需要增加 Perm的內(nèi)存配置

java.lang.OutOfMemoryError:unable to create native thread
空閑內(nèi)存不足以建立新的線程,減少 max-threads 的配置,增加空閑內(nèi)存數(shù)量
為什么一些程序頻繁發(fā)生 GC ?有如下原因:
1. 程序內(nèi)調(diào)用了 System.gc() 或 Runtime.gc() 。
2. 一些中間件軟件調(diào)用自己的 GC 方法,此時需要設(shè)置參數(shù)禁止這些 GC 。
3. Java 的 Heap 太小,一般默認(rèn)的 Heap 值都很小。
4. 頻繁實例化對象, Release 對象。此時盡量保存并重用對象,例如使用StringBuffer() 和 String() 。
5. 如果你發(fā)現(xiàn)每次 GC 后, Heap 的剩余空間會是總空間的 50% ,這表示你的 Heap
處于健康狀態(tài)。
在 Resin 中對 JVM 的優(yōu)化能很好的提高 Resin 的性能,通過這些基本知識使你對Resin 中 JVM 的優(yōu)化更有把握。
參考文章:
http://blog.csdn.net/tyrone1979/archive/2006/09/25/1274458.aspx
http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp#garbage-collection
 
Resin中除JVM外的優(yōu)化
在實際的生產(chǎn)環(huán)境中,以下三個東西經(jīng)常用到,所以在這里提一下,也算是簡單的優(yōu)化。
<thread-max>512</thread-max>
最大線程數(shù)影響 resin 的系統(tǒng)負(fù)載能力以及 java 進(jìn)程的內(nèi)存占用
<keepalive-max>128</keepalive-max>
keepalive 的最大數(shù)量,對網(wǎng)絡(luò)性能有影響
js/html/css/jpg/gif 等靜態(tài)文件由 nginx 提供服務(wù),剩下的由nginx以upstream方式代理到后端resin處理,以減少resin 提供這些靜態(tài)文件訪問的性能問題。
R esin 及 jvm 優(yōu)化,是一項基于提供服務(wù)的應(yīng)用上進(jìn)行一段相對長時間的測試進(jìn)行,由于每個項目都有其自身特點,只有根據(jù)這些特點來進(jìn)行優(yōu)化,才能把該項目配置得更好 ,不可能硬套到其它項目上 。
參考文章:
http://www.opendigest.org/article.php/450
歡迎大家增加這方面你的經(jīng)驗
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
合理配置RESIN內(nèi)存
Resin中設(shè)置Java虛擬機內(nèi)存
Jvisualvm
java.lang.OutOfMemoryError異常解決方法
tomcat的OutOfMemoryError解決方法
Tomcat 調(diào)優(yōu)及 JVM 參數(shù)優(yōu)化
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服