项目经理升职了是啥_什么是升职率?
項目經理升職了是啥
我確實相信您熟悉彼得原則 。 一般而言,該原則是一種觀察,即晉升可能會并且將導致晉升人員不再符合工作資格的情況。
對于JVM,存在類似的問題。 太快地提升對象可能會對性能產生重大影響。 在這篇文章中,我們將探討提升率的概念,演示如何對其進行衡量并解釋該概念的實用價值。
這是上周我們帖子的后續內容,解釋了分配率的概念。
提升率是按照每個時間單位從年輕一代傳播到老一代的數據量來衡量的 。 它通常以MB /秒為單位進行測量,類似于分配速率。 與我們有關分配率的帖子類似,讓我們再次更深入地了解升職率是如何計算的,以及為什么您應該完全關心升職率。
衡量促銷率
讓我們從衡量促銷率開始。 為此,我們通過為JVM指定-XX:+ PrintGCDetails -XX:+ PrintGCTimeStamps標志來打開GC日志記錄。 JVM現在開始記錄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大小和總堆大小。 知道了年輕一代的消耗和總堆,很容易將老一代的消耗計算為兩者之間的差。 將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 /秒,有一段時間達到了140.95 MB /秒的峰值。
現在,掌握了提升率的定義并知道如何衡量它,讓我們看一下這些信息的實用價值。
再次,類似于分配率,提升率的主要影響是GC暫停頻率的變化。 但是,與分配率會影響次要GC事件的發生頻率相反,提升率會影響主要GC事件的發生頻率。 讓我解釋一下–您向老一代人宣傳的東西越多,填滿它的速度就越快。 較快地填充Old gen意味著清洗GC的GC事件的頻率將會增加。
從實踐的角度來看,面對高晉升率可能會出現一個稱為過早晉升的問題。 為了解釋這個問題,讓我們回顧一下為什么首先將JVM堆劃分為不同的內存池。 其原因基于以下觀察:
- 大多數對象很快就變得不可用
- 那些通常不能存活(很長時間)的人
這些觀點在弱代假說中并存 。 基于此假設,VM內的內存分為年輕一代和老一代(或終身一代)。 具有此類單獨且可單獨清潔的區域使GC可以應用不同的算法來清潔這些區域,從而提高GC的性能。
因此,當預期壽命較短的對象沒有在年輕一代中收集并晉升為老一代時,就會發生過早的提升 。 清理此類對象成為Major GC的工作,Major GC并非設計用于頻繁運行,并且會導致GC暫停時間更長,從而嚴重影響應用程序的吞吐量。
信號表明應用程序遭受過早升級的癥狀是升級率接近分配率 。 就我們而言,我們肯定會遇到這樣的問題,因為我們的分配速率為161 MB /秒,提升速率為92 MB /秒。 解決該問題的方法可能很簡單,例如通過更改-XX:NewSize , -XX:MaxNewSize和-XX:SurvivorRatio參數來增加年輕一代的大小。
在許多情況下,這仍將導致次要GC運行過于頻繁。 在這種情況下,您將需要更改應用程序并降低分配率。 如何實現此目標是非常特定于應用程序的,但是為頻繁創建的對象引入緩存可能是解決此問題的一種方法。
帶走
從實際的角度來看,您應該關心分配和提升的速率,以了解GC可以跟上對象創建和提升到舊一代的步伐。 這些因素會嚴重影響應用程序的吞吐量。 通常,可以通過使用更合適的GC配置或通過對源代碼進行簡單更改來緩解此問題。
翻譯自: https://www.javacodegeeks.com/2015/09/what-is-promotion-rate.html
項目經理升職了是啥
總結
以上是生活随笔為你收集整理的项目经理升职了是啥_什么是升职率?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果手机怎样跟电脑互传文件iphone如
- 下一篇: 我花了3000买电视回家我花了3000买