導致full gc一般由於以下幾種情況:
1)老年
代空間不足
調優時盡量讓物件在新生代
(細分為eden和倖存區
)gc時被**、讓物件在新生代多存活一段時間
(增大新生代記憶體或者調高晉公升老年代的門檻
)和不要建立過大的物件及陣列避免直接在
老年代建立物件
2)新生代設定過小
一是新生代gc
次數非常頻繁,增大系統消耗;二是導致大物件直接進入
老年代,佔據了
老年剩餘空間,誘發full gc
3). 新生代設定過大
一是新生代設定過大會導致
老年代過小(堆總量一定),從而誘發full gc;二是新生代
gc耗時大幅度增加
4). survivor(
倖存區)
設定過小
導致物件從eden(
伊甸園)
直接到達老年代
5). survivor設定過大
導致eden(
伊甸園)
過小,增加了gc頻率
一般說來新生代佔整個堆1/3比較合適
gc策略的設定方式
1). 吞吐量優先 可由
-xx:gctimeratio=n
來設定2). 響應速度
優先可由-xx:maxgcpauseratio=n來設定
jvm 中生代cmcc的gc和fullgc
concurrentmode failure 2268975k 2111899k 2516992k 8.3732150 secs 2766660k 2111899k 3088576k cms perm 562899k 562896k 1048576k 9.0223120 secs times use...
15中導致失敗的性格
知足 只要有吃有穿,腹飽體暖,就感到滿足。這種人對生活沒有一點欲求,怎麼會創造富有與成功呢?自滿自己的總是最好的,甚至認為自己應該成為別人效仿的標準。這種人不屑於與外界來往,他們根本不知道社會進步到什麼程度,怎麼可能有更高的追求呢?保守這種人的生活全憑過去的經驗,沒人走過的路他不敢走,沒人做過的事他...
導致索引失效的情況
1 最好全值匹配 索引怎麼建我怎麼用。2 最佳左字首法則 如果索引了多列,要遵守最左字首法則。指的是查詢要從索引的最左前列開始並且不跳過索引中的列。3 不在索引列上做任何操作 計算,函式,自動或者手動 型別裝換 會導致索引失效而導致全表掃瞄。mysql自帶api函式操作,如 left等 4 儲存引擎...