当前位置: 首页 > 后端技术 > Java

面试官:JDK8的内存调优怎么做?

时间:2023-04-01 23:20:36 Java

闈㈣瘯瀹橈細JDK8鍐呭瓨璋冧紭鎬庝箞鍋氾紵鐪嬬潃闈㈣瘯瀹樼湡璇氱殑鐪肩锛屾垜蹇冮噷鎯宠嚜宸辩湅鐫€骞寸邯涓嶅ぇ锛屽嵈闂嚭杩欎箞鐩村嚮蹇冪伒鐨勯棶棰樸€傛摝浜嗘摝棰濆ご涓婄殑姹楌煒擄紝绋嶅井璋冩暣浜嗕竴涓嬬揣寮犵殑蹇冩儏馃槬锛屽闈㈣瘯瀹樿锛氬唴瀛樿皟浼樹箣鍓嶏紝浣犻渶瑕佷簡瑙d竴涓婮DK8鐨勫唴瀛樺尯鍩熸槸鎬庝箞鍒掑垎鐨勶細JDK8memorystructureJDK8鐨勫唴瀛樼粨鏋勪富瑕佸寘鎷琍rogramCounterRegister銆丣avaVirtualMachineStacks銆丯ativeMethodStacks銆丣avaHeap銆丮etaspace銆俬eap鍒嗕负OldGeneration鍜孻oungGeneration锛孻oungGeneration鍒嗕负涓€涓狤den鍖哄拰涓や釜Survivor鍖恒€傝竟璇磋竟鎻愮瑪鍦ㄧ焊涓婄敾锛氱敾瀹屼箣鍚庤锛欽DK8鐨勫唴瀛樿皟浼樹富瑕侀拡瀵瑰爢鍜屽厓绌洪棿銆傚唴瀛樿皟浼樺父鐢ㄧ殑JVM鍙傛暟鏈夛細-serverJVM鏈嶅姟鍣ㄦā寮忥紝鍦ㄥCPU鏈嶅姟鍣ㄤ腑鍙互鏇村ソ鐨勫彂鎸ユ€ц兘銆?4浣嶇増鏈殑JDK浠呮敮鎸佹湇鍔″櫒妯″紡锛屽洜姝ゅ湪杩欑鎯呭喌涓嬭閫夐」鏄殣寮忕殑銆?Xmx鎸囧畾鍫嗗垎閰嶅唴瀛樼殑鏈€澶у€硷紝鐩稿綋浜?XX:MaxHeapSize銆備笉甯﹀瓧姣嶆椂锛屽崟浣嶄负瀛楄妭锛屽繀椤绘槸1024鐨勫€嶆暟涓斿ぇ浜?MB锛涘甫瀛楁瘝k鎴朘鏃讹紝鍗曚綅涓篕B锛涘甫瀛楁瘝m鎴朚鏃讹紝鍗曚綅涓篗B锛涘綋闄勫姞瀛楁瘝g鎴朑鏃讹紝鍗曚綅涓篏銆備笅渚嬩娇鐢ㄤ笉鍚岀殑鍗曚綅璁剧疆鍫嗗垎閰嶅唴瀛樼殑鏈€澶у€间负1GB锛?Xmx1G-Xmx1024M-Xmx1048576K-Xmx1073741824-Xms鎸囧畾鍫嗙殑鍒濆鍊煎爢鍒嗛厤鐨勫唴瀛樸€備笉鍔犲瓧姣嶆椂锛屽崟浣嶄负瀛楄妭锛屽繀椤讳负1024鐨勫€嶆暟锛屼笖澶т簬1MB锛涘姞瀛楁瘝k鎴朘鏃讹紝鍗曚綅涓篕B锛涘姞瀛楁瘝m鎴朚鏃讹紝鍗曚綅涓篗B锛涘綋鍔犱笂瀛楁瘝g鎴朑鏃讹紝鍗曚綅鏄疓銆傚鏋滀笉璁剧疆杩欎釜鍒濆鍊硷紝閭d箞鍒濆鍊煎皢琚缃负鑰佸勾浠e拰鏂扮敓浠e垎閰嶇殑鍐呭瓨澶у皬涔嬪拰銆備互涓嬬ず渚嬩娇鐢ㄤ笉鍚岀殑鍗曚綅灏嗗垵濮嬪爢鍒嗛厤璁剧疆涓?GB锛?Xms4G-Xms4096M-Xms4194304K-Xms4294967296瀵逛簬鐢熶骇閮ㄧ讲锛?Xms鍜?Xmx閫氬父璁剧疆涓虹浉鍚岀殑鍊笺€?Xmn鎸囧畾鍫嗙殑骞磋交浠e垎閰嶇殑鍐呭瓨鐨勫垵濮嬪€煎拰鏈€澶у€笺€備笉甯﹀瓧姣嶆椂锛屽崟浣嶄负瀛楄妭锛涘甫瀛楁瘝k鎴朘鏃讹紝鍗曚綅涓篕B锛涘甫瀛楁瘝m鎴朚鏃讹紝鍗曚綅涓篗B锛涘綋浣跨敤瀛楁瘝g鎴朑鏃讹紝鍗曚綅涓篏銆傚爢鐨勬柊鐢熶唬鍖哄煙鐢ㄤ簬瀛樻斁鏂扮殑瀵硅薄銆傚瀮鍦炬敹闆嗗湪璇ュ湴鍖烘瘮鍦ㄥ叾浠栧湴鍖烘墽琛屽緱鏇撮绻併€傚鏋滄柊鐢熶唬澶皬锛屽氨浼氳繘琛屽娆″瀮鍦惧洖鏀躲€傚鏋滄柊鐢熶唬鐨勫唴瀛樺お澶э紝鎵ц涓€娆″畬鏁寸殑鍨冨溇鍥炴敹鍙兘闇€瑕佸緢闀挎椂闂存墠鑳藉畬鎴愩€備竴鑸缓璁皢鏂扮敓浠g殑澶у皬淇濇寔鍦ㄦ暣涓爢澶у皬鐨?/2鍒?/4涔嬮棿銆備笅闈㈢殑渚嬪瓙璁剧疆骞磋交浠e垎閰嶅唴瀛樼殑鍒濆鍊煎拰鏈€澶у€间负2GB锛屼娇鐢ㄤ笉鍚岀殑鍗曚綅锛氬勾杞讳唬锛屼篃鍙互浣跨敤-XX:NewSize璁剧疆骞磋交浠g殑鍒濆鍊硷紝浣跨敤-XX:MaxNewSize璁剧疆骞磋交浠g殑鏈€澶у€笺€?XX:NewRatio鎸囧畾鑰佸勾浠eぇ灏忎笌鏂扮敓浠eぇ灏忕殑姣旂巼銆傞粯璁や负2锛屽嵆鑰佸勾浠d笌鏂扮敓浠g┖闂寸殑姣斾緥涓?:1锛屾柊鐢熶唬鍗犳嵁鏁翠釜鍫嗗唴瀛樼┖闂寸殑1/3銆備笅闈㈢殑渚嬪瓙灏嗚€佸勾浠d笌鏂扮敓浠g殑绌洪棿澶у皬姣斾緥璁剧疆涓?锛?XX:NewRatio=1鍙﹀鏂扮敓浠e垎閰嶅唴瀛樿缃殑浼樺厛绾у涓嬶細楂樹紭鍏堢骇锛?XX:NewSize/-XX:MaxNewSizePriority:-XmnLowpriority:-XX:NewRatio-XX:SurvivorRatio鎸囧畾Eden鍖轰笌Survivor鍖虹殑绌洪棿澶у皬姣斾緥銆傞粯璁や负8锛屽嵆Eden鍖哄拰Survivor鍖虹殑绌洪棿澶у皬涓?:1銆傚洜涓烘湁涓や釜Survivor鍖猴紝Eden鍖哄崰浜嗘柊鐢熶唬鍐呭瓨澶у皬鐨?0%銆備笅闈㈢殑渚嬪瓙鏄缃瓻den鍖哄拰Survivor鍖虹殑绌洪棿澶у皬姣斾緥涓?锛?XX:SurvivorRatio=4-XX:MetaspaceSize鎸囧畾metaspace绗竴娆¤Е鍙戝瀮鍦惧洖鏀剁殑鍐呭瓨澶у皬闃堝€兼椂闂淬€傚綋鍏冪┖闂村唴瀛樹娇鐢ㄩ噺鎸佺画澧炲姞鐩村埌杈惧埌杩欎釜闃堝€兼椂锛屽氨浼氳Е鍙戝瀮鍦惧洖鏀躲€傚洜姝わ紝閫傚綋鎻愰珮杩欎釜闃堝€间細鍑忓皯鍨冨溇鍥炴敹鐨勬鏁般€傞粯璁ゅ€煎彇鍐充簬骞冲彴锛屼竴鑸湪20.8MB宸﹀彸銆備笅闈㈢殑渚嬪瓙鏄缃涓€娆¤Е鍙戝瀮鍦惧洖鏀剁殑metaspace鐨勫唴瀛樺ぇ灏忎负256MB锛?XX:MetaspaceSize=256M鏈変簺鏈嬪弸璇В浜嗚繖涓弬鏁帮紝閫犳垚浜嗕笉蹇呰鐨勯夯鐑︺€傞噸鐢充竴涓嬶細-XX:MetaspaceSize涓嶆槸鍏冪┖闂村唴瀛樺ぇ灏忕殑鍒濆鍊硷紝涓嶆槸鍏冪┖闂村唴瀛樺ぇ灏忕殑鍒濆鍊硷紝涓嶆槸鍏冪┖闂村唴瀛樺ぇ灏忕殑鍒濆鍊硷紝閲嶈鐨勮涓夋銆?XX:MaxMetaspaceSize鎸囧畾鍏冪┖闂村垎閰嶇殑鍐呭瓨鐨勬渶澶у€笺€傞粯璁や负鏃犻檺鍒讹紝鍏蜂綋鍙栧喅浜庣郴缁熶腑鐨勫彲鐢ㄥ唴瀛橀噺銆傜悊璁轰笂鍙互鍗犵敤鏁翠釜绯荤粺鐨勫唴瀛樸€備负浜嗛伩鍏嶈繖绉嶆偛鍓э紝褰卞搷绯荤粺涓婄殑鍏朵粬搴旂敤绋嬪簭锛岄渶瑕侀€傚綋鍦拌皟鏁村畠鐨勫ぇ灏忋€備笅闈㈢殑渚嬪瓙璁剧疆鍏冪┖闂村垎閰嶇殑鍐呭瓨鏈€澶у€间负512MB锛?XX:MaxMetaspaceSize=512M闈㈣瘯瀹樼瑧鐫€璇达細杩欎簺甯哥敤鐨勫唴瀛樿皟浼樺弬鏁版€荤粨鐨勫緢濂斤紝缁撳悎杩欎簺鍙傛暟鍙互鍐欎竴涓唴瀛樿皟浼樼殑渚嬪瓙鍚楋紵琚潰璇曞畼琛ㄦ壃鍚庯紝鎴戝帇涓嬪績涓殑鍠滄偊璇达細褰撶劧鍙互銆傚湪鍐呭瓨璋冧紭瀹炰緥涓紝灏嗗爢鍐呭瓨绌洪棿璁剧疆鐨勫敖鍙兘鐨勫ぇ锛屼互鍑忓皯鍨冨溇鍥炴敹鐨勬鏁般€傚亣璁炬湇鍔″櫒涓婅繕鏈?2GB鍙敤鍐呭瓨锛岄鍏堟寚瀹氬爢鍒嗛厤鍐呭瓨鐨勬渶澶у€煎拰鍒濆鍊间负8GB銆備竴鑸潵璇达紝鏂扮敓浠g殑鍐呭瓨澶у皬闇€瑕佸湪鏁翠釜鍫嗗ぇ灏忕殑1/2鍒?/4涔嬮棿锛屾墍浠ユ寚瀹氭柊鐢熶唬鐨勫唴瀛樺ぇ灏忎负3GB銆傜劧鍚庡皢Eden鍖轰笌Survivor鍖虹殑绌洪棿澶у皬姣斾緥璁剧疆涓?銆侻etaspace涓涓€娆¤Е鍙戝瀮鍦惧洖鏀剁殑鍐呭瓨澶у皬闃堝€艰缃负256MB锛屼竴鑸潵璇磋冻澶熶簡銆傚厓绌洪棿鍒嗛厤鐨勫唴瀛樻渶澶ц缃负512MB锛屼互閬垮厤鍦ㄦ瀬绔儏鍐典笅鍗犵敤澶ч噺鍐呭瓨銆傛澶栵紝鎮ㄩ渶瑕佹槑纭寚瀹欽VM浠ユ湇鍔″櫒妯″紡鍚姩銆傚唴瀛樿皟浼樼殑鍙傛暟鍩烘湰瀹氫笅鏉ヤ簡锛岀敤瀹冩潵鍚姩涓€涓悕涓簅ne-more-study-0.0.1-SNAPSHOT.jar鐨刯ar鏂囦欢锛歫ava-server-Xmx8G-Xms8G-Xmn3G-XX:SurvivorRatio=4-XX:MetaspaceSize=256M-XX:MaxMetaspaceSize=512M-jarone-more-study-0.0.1-SNAPSHOT.jar濡傛灉鎵цjmap-heap鍛戒护鏌ョ湅瀵瑰簲Java杩涚▼鐨勫唴瀛橀厤缃拰浣跨敤鎯呭喌锛屽簲璇ユ槸杩欐牱鐨勶細闄勫姞鍒拌繘绋婭D31828锛岃绋嶅€?..璋冭瘯鍣ㄩ檮鍔犳垚鍔熴€傛娴嬪埌鏈嶅姟鍣ㄧ紪璇戝櫒銆侸VM鐗堟湰涓?5.251-b08浣跨敤绾跨▼鏈湴瀵硅薄鍒嗛厤銆傚叿鏈?涓嚎绋嬬殑骞惰GC鍫嗛厤缃細#Heap鍐呭瓨閰嶇疆MinHeapFreeRatio=0MaxHeapFreeRatio=100#鍫嗗唴瀛樻渶澶у€糓axHeapSize=8589934592(8192.0MB)#鏂扮敓浠e唴瀛樺ぇ灏廚ewSize=3221225472(3072.0MB)#鏂扮敓浠e唴瀛樻渶澶у€糓axNewSize=3221225472(3072.0MB)#澶у皬oftheoldgenerationmemoryOldSize=5368709120(5120.0MB)#鑰佸勾浠d笌骞磋交浠g殑绌洪棿澶у皬姣斾緥#鍥犱负璁剧疆浜哫mn鍙傛暟锛屾墍浠ヨ繖涓缃笉鐢熸晥NewRatio=2#绌洪棿鐨勬瘮渚婨denareatoaSurvivorareaSurvivorRatio=4#鍏冪┖闂翠腑绗竴娆¤Е鍙戝瀮鍦惧洖鏀剁殑鍐呭瓨SizeMetaspaceSize=268435456(256.0Mb)#鍏冪┖闂村唴瀛樻渶澶у€糓axMetaspaceSize=536870912(512.0MB)G1HeapRegionSize=0(0.0MB)HeapUsage:#HeapusagePSYoungGenerationEdenSpace:#Edenareamemoryusagecapacity=2147483648(2048.0MB)used=901945720(860.16MB)free=1245537928(1187.83MB)42.000120505690575%usedFromSpace:#Survivor鐨凢rom鍖哄唴瀛樺偍鐨勪娇鐢ㄦ儏鍐礳apacity=536870912(512.0MB)used=0(0.0MB)free=%Space11.To)To(5)#Survivor'sToareacapacity=536870912(512.0MB)used=0(0.0MB)free=536870912(512.0MB)0.0%usedPSOldGeneration#鑰佸勾浠e唴瀛樹娇鐢╟apacity=5368709120(5120.0MB)used=0(0.0MB)鍏嶈垂=5368709120(5120.0MB)0.0%used12047internedStrings鍗犵敤1045744瀛楄妭銆傚惉瀹屾垜鐨勫洖绛旓紝闈㈣瘯瀹樹細鎰忓湴鍐叉垜绗戜簡绗戯紝浠夸經鎴戣繕鍦ㄧ湅濂圭殑鐪奸噷锛岃鍒颁竴涓濋挦浣╋紝姝f墍璋擄細涓囦袱榛勯噾鏄撳緱锛屽崈閲戦毦姹傘€傛壘鐭ュ繁銆傛兂鐭ラ亾鎺ヤ笅鏉ヤ細鍙戠敓浠€涔堬紝灏卞惉涓嬩竴绔犲惂銆?/p>

最新推荐
猜你喜欢