第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

高峰請(qǐng)求到來(lái)時(shí)頻繁且長(zhǎng)時(shí)間的Java GC,導(dǎo)致應(yīng)用停止響應(yīng)10分鐘

高峰請(qǐng)求到來(lái)時(shí)頻繁且長(zhǎng)時(shí)間的Java GC,導(dǎo)致應(yīng)用停止響應(yīng)10分鐘

胡說(shuō)叔叔 2023-06-14 16:00:54
我有一個(gè)提供在線視頻播放服務(wù)的 Java 應(yīng)用程序。當(dāng)高峰流量到來(lái)時(shí)(比如用戶點(diǎn)擊手機(jī)推送窗口),GC開銷很大,我在GC日志中可以看到“提升失敗”和“并發(fā)模式失敗”的信息,GC很及時(shí)消耗,幾乎需要10分鐘才能完成一個(gè)GC周期,這使得應(yīng)用程序長(zhǎng)時(shí)間無(wú)法響應(yīng)。我知道問(wèn)題應(yīng)該是內(nèi)存使用的錯(cuò)誤代碼設(shè)計(jì),任何人都可以幫助弄清楚如何解決 GC 問(wèn)題嗎?謝謝。這是我的服務(wù)器環(huán)境:cat /etc/redhat-releaseCentOS release 6.8 (Final)free -h             total       used       free     shared    buffers     cachedMem:           31G        31G       302M        16K       260M       6.5G-/+ buffers/cache:        24G       7.1GSwap:         2.0G       564M       1.4Gjava -versionjava version "1.7.0_131"OpenJDK Runtime Environment (rhel-2.6.9.0.el6_8-x86_64 u131-b00)OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode)這是我原來(lái)的 JVM 設(shè)置:55634 XmlConfiguration -Xmx22528m -Xms22528m -verbose:gc -XX:NewRatio=3-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled-Xloggc:/data/logs/jetty/gc.log -XX:GCLogFileSize=10M -XX:NumberOfGCLogFiles=10-XX:+UseGCLogFileRotation -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps-XX:+PrintGCDetails -XX:+DisableExplicitGC -XX:+ScavengeBeforeFullGC-XX:+CMSScavengeBeforeRemark -XX:+UseCMSInitiatingOccupancyOnly-XX:CMSInitiatingOccupancyFraction=70-Djetty.home=/usr/local/jetty-distribution-8.1.16.v20140903我嘗試了一些解決方案,但問(wèn)題仍然存在。1) 調(diào)整JVM參數(shù):-XX:CMSInitiatingOccupancyFraction=50,使CMS GC更早,為應(yīng)用程序線程提供更多空閑內(nèi)存。2)調(diào)整JVM參數(shù):-XX:NewRatio=2,讓新生代變大。3)調(diào)整JVM參數(shù):-XX:PermSize=512m,-XX:MaxPermSize=512m,使持久化生成更大。4) 對(duì)單臺(tái)服務(wù)器設(shè)置限速器,可以保護(hù)下劃線應(yīng)用。
查看完整描述

2 回答

?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

查看您的 GC 日志,CMS 似乎不是您應(yīng)用的正確選擇。

考慮嘗試其他 GC 算法:

  • 并行 GC(它會(huì)給你 10-30 秒的定期暫停,但不是 10 分鐘)

  • 如果你可以升級(jí)到 Java 8,G1 可能是一個(gè)選項(xiàng)(它可能很好也可能很壞——看你的運(yùn)氣了)

如果您想堅(jiān)持使用 CMS ...

...我可以在GC日志中看到有關(guān)“提升失敗”和“并發(fā)模式失敗”的信息,而且GC非常耗時(shí),幾乎需要10分鐘才能完成一個(gè)GC周期...

您的提升率非常高(100+ MiB/s)

2019-08-17T11:07:38.895+0800: 48789.385: [GC2019-08-17T11:07:38.895+0800: 48789.385: [ParNew: 5098592K->576704K(5190464K), 0.2818390 secs] 16761372K->12241212K(22491968K), 0.2826330 secs] [Times: user=2.2

4 sys=0.00, real=0.28 secs]

2019-08-17T11:07:46.308+0800: 48796.799: [GC2019-08-17T11:07:46.309+0800: 48796.799: [ParNew: 5190464K->576704K(5190464K), 0.4371320 secs] 16854972K->12504773K(22491968K), 0.4380620 secs] [Times: user=2.9

7 sys=0.01, real=0.44 secs]

CMS 需要很大的舊空間大小來(lái)處理這樣的吞吐量并保持低碎片。不過(guò),您的服務(wù)器似乎已經(jīng)達(dá)到內(nèi)存限制。


查看完整回答
反對(duì) 回復(fù) 2023-06-14
?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊

我終于弄清楚了根本原因。代碼在高峰流量到來(lái)時(shí)會(huì)產(chǎn)生大量對(duì)象(超過(guò)10GB),導(dǎo)致young GC頻繁發(fā)生,CMS GC回落到SerialOld GC,造成長(zhǎng)時(shí)間STW。



查看完整回答
反對(duì) 回復(fù) 2023-06-14
  • 2 回答
  • 0 關(guān)注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)