项目经理升职了是啥_什么是升职率?
項(xiàng)目經(jīng)理升職了是啥
我確實(shí)相信您熟悉彼得原則 。 一般而言,該原則是一種觀察,即晉升可能會(huì)并且將導(dǎo)致晉升人員不再符合工作資格的情況。
對于JVM,存在類似的問題。 太快地提升對象可能會(huì)對性能產(chǎn)生重大影響。 在這篇文章中,我們將探討提升率的概念,演示如何對其進(jìn)行衡量并解釋該概念的實(shí)用價(jià)值。
這是上周我們帖子的后續(xù)內(nèi)容,解釋了分配率的概念。
提升率是按照每個(gè)時(shí)間單位從年輕一代傳播到老一代的數(shù)據(jù)量來衡量的 。 它通常以MB /秒為單位進(jìn)行測量,類似于分配速率。 與我們有關(guān)分配率的帖子類似,讓我們再次更深入地了解升職率是如何計(jì)算的,以及為什么您應(yīng)該完全關(guān)心升職率。
衡量促銷率
讓我們從衡量促銷率開始。 為此,我們通過為JVM指定-XX:+ PrintGCDetails -XX:+ PrintGCTimeStamps標(biāo)志來打開GC日志記錄。 JVM現(xiàn)在開始記錄GC暫停,如以下代碼片段所示:
0.291: [GC (Allocation Failure) [PSYoungGen: 33280K->5088K(38400K)] 33280K->24360K(125952K), 0.0365286 secs] [Times: user=0.11 sys=0.02, real=0.04 secs] 0.446: [GC (Allocation Failure) [PSYoungGen: 38368K->5120K(71680K)] 57640K->46240K(159232K), 0.0456796 secs] [Times: user=0.15 sys=0.02, real=0.04 secs] 0.829: [GC (Allocation Failure) [PSYoungGen: 71680K->5120K(71680K)] 112800K->81912K(159232K), 0.0861795 secs] [Times: user=0.23 sys=0.03, real=0.09 secs]從上面我們可以提取出收集事件之前和之后的Young Generation大小和總堆大小。 知道了年輕一代的消耗和總堆,很容易將老一代的消耗計(jì)算為兩者之間的差。 將GC日志中的信息表示為:
| 第一GC | 291毫秒 | 28192千 | 892萬 | 19,272千 | 66.2 MB /秒 |
| 第二GC | 446毫秒 | 33,248千 | 11,400千 | 21,848千 | 140.95 MB /秒 |
| 第三GC | 829毫秒 | 66,560千 | 30,888千 | 35,672千 | 93.14 MB /秒 |
| 總 | 829毫秒 | 76,792千 | 92.63 MB /秒 |
可以讓我們提取出所測期間的促銷率。 我們可以看到,平均提升速度為92 MB /秒,有一段時(shí)間達(dá)到了140.95 MB /秒的峰值。
現(xiàn)在,掌握了提升率的定義并知道如何衡量它,讓我們看一下這些信息的實(shí)用價(jià)值。
再次,類似于分配率,提升率的主要影響是GC暫停頻率的變化。 但是,與分配率會(huì)影響次要GC事件的發(fā)生頻率相反,提升率會(huì)影響主要GC事件的發(fā)生頻率。 讓我解釋一下–您向老一代人宣傳的東西越多,填滿它的速度就越快。 較快地填充Old gen意味著清洗GC的GC事件的頻率將會(huì)增加。
從實(shí)踐的角度來看,面對高晉升率可能會(huì)出現(xiàn)一個(gè)稱為過早晉升的問題。 為了解釋這個(gè)問題,讓我們回顧一下為什么首先將JVM堆劃分為不同的內(nèi)存池。 其原因基于以下觀察:
- 大多數(shù)對象很快就變得不可用
- 那些通常不能存活(很長時(shí)間)的人
這些觀點(diǎn)在弱代假說中并存 。 基于此假設(shè),VM內(nèi)的內(nèi)存分為年輕一代和老一代(或終身一代)。 具有此類單獨(dú)且可單獨(dú)清潔的區(qū)域使GC可以應(yīng)用不同的算法來清潔這些區(qū)域,從而提高GC的性能。
因此,當(dāng)預(yù)期壽命較短的對象沒有在年輕一代中收集并晉升為老一代時(shí),就會(huì)發(fā)生過早的提升 。 清理此類對象成為Major GC的工作,Major GC并非設(shè)計(jì)用于頻繁運(yùn)行,并且會(huì)導(dǎo)致GC暫停時(shí)間更長,從而嚴(yán)重影響應(yīng)用程序的吞吐量。
信號(hào)表明應(yīng)用程序遭受過早升級的癥狀是升級率接近分配率 。 就我們而言,我們肯定會(huì)遇到這樣的問題,因?yàn)槲覀兊姆峙渌俾蕿?61 MB /秒,提升速率為92 MB /秒。 解決該問題的方法可能很簡單,例如通過更改-XX:NewSize , -XX:MaxNewSize和-XX:SurvivorRatio參數(shù)來增加年輕一代的大小。
在許多情況下,這仍將導(dǎo)致次要GC運(yùn)行過于頻繁。 在這種情況下,您將需要更改應(yīng)用程序并降低分配率。 如何實(shí)現(xiàn)此目標(biāo)是非常特定于應(yīng)用程序的,但是為頻繁創(chuàng)建的對象引入緩存可能是解決此問題的一種方法。
帶走
從實(shí)際的角度來看,您應(yīng)該關(guān)心分配和提升的速率,以了解GC可以跟上對象創(chuàng)建和提升到舊一代的步伐。 這些因素會(huì)嚴(yán)重影響應(yīng)用程序的吞吐量。 通常,可以通過使用更合適的GC配置或通過對源代碼進(jìn)行簡單更改來緩解此問題。
翻譯自: https://www.javacodegeeks.com/2015/09/what-is-promotion-rate.html
項(xiàng)目經(jīng)理升職了是啥
總結(jié)
以上是生活随笔為你收集整理的项目经理升职了是啥_什么是升职率?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果手机怎样跟电脑互传文件iphone如
- 下一篇: 我花了3000买电视回家我花了3000买