{"id":5152,"date":"2022-03-04T09:56:37","date_gmt":"2022-03-04T00:56:37","guid":{"rendered":"\/blog\/?p=5152"},"modified":"2023-09-21T09:26:26","modified_gmt":"2023-09-21T00:26:26","slug":"jvmjava-%eb%a9%94%eb%aa%a8%eb%a6%ac-%ec%98%b5%ec%85%98-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=5152","title":{"rendered":"JVM(Java) \uba54\ubaa8\ub9ac \uc635\uc158 \uc815\ub9ac"},"content":{"rendered":"\n<span style=\"font-family: monospace;\">JVM(Java) \uba54\ubaa8\ub9ac \uc635\uc158 \uc815\ub9ac<br \/><br \/>1. \ucd5c\ub300 \uc131\ub2a5<br \/><span style=\"color: #e03e2d;\">JAVA_OPTS=\"-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1G -Xmx16G -Xss4m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:+DisableExplicitGC -XX:-UseGCOverheadLimit\"<\/span><br \/><br \/><br \/>2. \ucd5c\ub300 \uc548\uc815 (for WebInspect)<br \/>JAVA_OPTS=\"-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1G -Xmx16G -Xss4m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:+CMSClassUnloadingEnabled -Dsun.rmi.dgc.client.gcInterval=60000 -Dsun.rmi.dgc.server.gcInterval=60000 -XX:-UseGCOverheadLimit\"<br \/><br \/>\u203b -XX:PermSize=512m -XX:MaxPermSize=512m\ub294 Java 8\uc5d0\uc11c \uc5c6\uc5b4\uc9d0.<br \/><br \/>\u25a0 Heap\uc601\uc5ed : new \uc5f0\uc0b0\uc790\ub85c \uc0dd\uc131\ub41c \uac1d\uccb4\uc640 \ubc30\uc5f4\uc744 \uc800\uc7a5\ud558\ub294 \uc601\uc5ed\uc73c\ub85c GC \ub300\uc0c1\uc774 \ub418\ub294 \uc601\uc5ed\uc774\ub2e4.<br \/><br \/>1.Eden, Survivor, Old\ub85c \ub098\ub268<br \/>* new \ud0a4\uc6cc\ub4dc\ub85c \uac1d\uccb4\uac00 \uc0dd\uc131\ub418\uba74 eden \uc601\uc5ed\uc5d0 \uc800\uc7a5<br \/>* \uc9c0\uc18d\uc801\uc73c\ub85c Eden\uc5d0 \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\ub2e4\uac00 \uac00\ub4dd \ucc28\uba74 Minor GC(Young GC) \ubc1c\uc0dd<br \/>* \uc4f0\ub808\uae30 \uac1d\uccb4\ub4e4\uc740 \uc81c\uac70\ub418\uace0 \uc544\uc9c1 \uc0b4\uc544\uc788\ub294 \uac1d\uccb4\ub4e4\uc740 Survivor \uc601\uc5ed\uc73c\ub85c \uc774\ub3d9<br \/>* \ubc18\ubcf5\ub418\ub2e4\uac00 Survivor \ub9c8\uc800 \uaf49 \ucc28\uba74 old \uc601\uc5ed\uc73c\ub85c \uc774\ub3d9<br \/><br \/>\u25a0 Non-Heap\uc601\uc5ed : \uc2a4\ud0dd, \ud074\ub798\uc2a4 area, method area \ub4f1\uc758 heap\uc601\uc5ed\uc744 \uc81c\uc678\ud55c \ub098\uba38\uc9c0\ub4e4.<br \/>Permanent : Class \uba54\ud0c0\uc815\ubcf4, Method \uba54\ud0c0\uc815\ubcf4, Static Object, \uc0c1\uc218\ud654\ub41c String Object, Calss\uad00\ub828 \ubc30\uc5f4 \uba54\ud0c0\uc815\ubcf4, JVM\ub0b4\ubd80 \uac1d\uccb4\uc640 \ucd5c\uc801\ud654\ucef4\ud30c\uc77c\ub7ec(JIT)\ucd5c\uc801\ud654 \uc815\ubcf4 \ub4f1 \ud3ec\ud568<br \/><br \/>\u25a0 \uc635\uc158 \uc124\uba85<br \/>-Djava.awt.headless=true: WAS \uc635\uc158\uc73c\ub85c \ube44\uc708\ub3c4\uc6b0 \ud658\uacbd\uc5d0\uc11c GUI \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c \ud558\ub294 \uc635\uc158<br \/><br \/>-Dfile.encoding=UTF-8: new String(byte[] b) \ub610\ub294 String getBytes() \uc2e4\ud589\uc2dc \uc778\ucf54\ub529 \uac12<br \/><br \/>-Xms: \ucd08\uae30 Heap Size (init, default 64m)<br \/><br \/>-Xmx: \ucd5c\ub300 Heap Size (Max, &nbsp;default 256m)<br \/><br \/>-Xss: \uac1c\ubcc4 Thread\uc758 Stack Size\ub97c \uc9c0\uc815\ud55c\ub2e4. \uc608\ub97c \ub4e4\uc5b4 Thread Stack Size\uac00 1MB(Default)\uc774\uace0, Thread\uac00 \ucd5c\ub300 100\uac1c \ud65c\uc131\ud654\ub41c\ub2e4\uba74, \ucd5c\ub300 100M\uc758 \uba54\ubaa8\ub9ac\ub97c \uc0ac\uc6a9\ud558\uac8c \ub41c\ub2e4.<br \/><br \/>-XX:PermSize: \ucd08\uae30 PermSize (Java 8\uc5d0\uc11c \uc5c6\uc5b4\uc9d0)<br \/><br \/>-XX:MaxPermSize: \ucd5c\ub300 PermSize (Java 8\uc5d0\uc11c \uc5c6\uc5b4\uc9d0)<br \/><br \/>-XX:NewSize: \ucd5c\uc18c new size (\uac1d\uccb4\uac00 \uc0dd\uc131\ub418\uc5b4 \uc800\uc7a5\ub418\ub294 \ucd08\uae30\uacf5\uac04\uc758 Size\ub85c Eden+Survivor \uc601\uc5ed)<br \/><br \/>-XX:MaxNewSize: \ucd5c\ub300 new Size<br \/><br \/>-XX:SurvivorRatio: New\/Survivor\uc601\uc5ed \ube44\uc728 (n\uc73c\ub85c \uc9c0\uc815\uc2dc Eden : Survivor = 1:n)<br \/><br \/>-XX:NewRatio: Young Gen\uacfc Old Gen\uc758 \ube44\uc728 (n\uc73c\ub85c \uc9c0\uc815\uc2dc Young : Old = 1:n)<br \/><br \/>-XX:+DisableExplicitGC: System.gc() \ucf5c\uc744 \ubb34\uc2dc<br \/><br \/>-XX:+UseConcMarkWeepGC: \ud45c\uc900 gc\uac00 \uc544\ub2c8\ub098 Perm Gen\uc601\uc5ed\ub3c4 gc\ud558\ub294 Concurrent Collertor\ub97c \uc0ac\uc6a9<br \/><br \/>-XX:+CMSPermGenSweepingEnabled: Perm gen\uc601\uc5ed\ub3c4 GC\uc758 \ub300\uc0c1\uc774 \ub418\ub3c4\ub85d \uc9c0\uc815<br \/><br \/>-XX:+CMSClassUnloadingEnabled: \ud074\ub798\uc2a4 \ub370\uc774\ud130\ub3c4 GC\uc758 \ub300\uc0c1\uc774 \ub418\ub3c4\ub85d \uc9c0\uc815<br \/><br \/><span style=\"color: #0622f2;\">-XX:-UseGCOverheadLimit: \"java.lang.OutOfMemoryError: GC overhead limit exceeded\" \uc624\ub958 \ubc29\uc9c0<\/span><br \/><br \/><\/span>\n","protected":false},"excerpt":{"rendered":"<p>JVM(Java) \uba54\ubaa8\ub9ac \uc635\uc158 \uc815\ub9ac 1. \ucd5c\ub300 \uc131\ub2a5JAVA_OPTS=&#8221;-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1G -Xmx16G -Xss4m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:+DisableExplicitGC -XX:-UseGCOverheadLimit&#8221; 2. \ucd5c\ub300 \uc548\uc815 (for WebInspect)JAVA_OPTS=&#8221;-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1G -Xmx16G -Xss4m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:+CMSClassUnloadingEnabled -Dsun.rmi.dgc.client.gcInterval=60000 -Dsun.rmi.dgc.server.gcInterval=60000 -XX:-UseGCOverheadLimit&#8221; \u203b -XX:PermSize=512m -XX:MaxPermSize=512m\ub294 Java 8\uc5d0\uc11c \uc5c6\uc5b4\uc9d0. \u25a0 Heap\uc601\uc5ed : new \uc5f0\uc0b0\uc790\ub85c \uc0dd\uc131\ub41c \uac1d\uccb4\uc640 \ubc30\uc5f4\uc744 \uc800\uc7a5\ud558\ub294 \uc601\uc5ed\uc73c\ub85c GC \ub300\uc0c1\uc774 \ub418\ub294 \uc601\uc5ed\uc774\ub2e4. 1.Eden, Survivor, Old\ub85c [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[66,18],"tags":[],"class_list":["post-5152","post","type-post","status-publish","format-standard","hentry","category-computing_fortify","category-development_language"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5152"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5152\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}