Windows 11ã§JavaããŒãã¹ããŒã¹ãšã©ãŒã«ééããŠããŸãããïŒããªãã ãã§ã¯ãããŸãããå€ãã®éçºè
ããŠãŒã¶ãŒããããã©ã«ãã®JVMå²ãåœãŠãè¶
ããã¡ã¢ãªãå¿
èŠãšããJavaã¢ããªã±ãŒã·ã§ã³ãå®è¡ããéã«ããã®åä»ãªåé¡ã«çŽé¢ããŠããŸããã§ããå®å¿ãã ããïŒãã®å
æ¬çãªã¬ã€ãã§ã¯ããšã©ãŒã®çè§£ãããã¹ã ãŒãºãªããã©ãŒãã³ã¹ãåãæ»ãããã®è¿
éãã€å¹æçãªä¿®æ£æ¹æ³ãŸã§ã解説ããŸããæåŸãŸã§èªãã°ãJavaã¢ããªã倢ã®ããã«ã¹ã ãŒãºã«åäœããæéãšæéãçãããšãã§ããããã«ãªããŸããããããã£ããå®è·µããŠçç£æ§ãåãæ»ããŸãããïŒð
Java ããŒã ã¹ããŒã¹ ãšã©ãŒãšã¯äœã§ãã?
JavaããŒãã¹ããŒã¹ãšã©ãŒã¯ãå€ãã®å Žåãjava.lang.OutOfMemoryError: Java heap spaceããšè¡šç€ºãããJavaä»®æ³ãã·ã³ïŒJVMïŒã®ããŒãé åã®ã¡ã¢ãªãäžè¶³ãããšãã«çºçããŸããããŒããšã¯ãJavaãå®è¡æã«ãªããžã§ã¯ããä¿åããå Žæã§ããå€§èŠæš¡ãªWebã¢ããªãããŒã¿åŠçããŒã«ãEclipseãªã©ã®IDEãªã©ã®ã¢ããªã±ãŒã·ã§ã³ããå©çšå¯èœãªã¡ã¢ãªéãè¶
ããã¡ã¢ãªãå²ãåœãŠãããšãããšããã®ãšã©ãŒãçºçããŠã¯ã©ãã·ã¥ããŸãã
Windows 11ã§ã¯ã匷åãªãã«ãã¿ã¹ã¯ç°å¢ã®ãããã·ã¹ãã ãªãœãŒã¹ãç«¶åããå¯èœæ§ããããç¹ã«ãã®åé¡ãããçºçããŸããè€æ°ã®ã¢ããªã®å®è¡ãRAMäžè¶³ãJava èšå®ã®æé©åäžè¶³ãªã©ã®èŠå ãåé¡ãæªåãããŸãã幞ããªããšã«ãéåžžã¯ç°¡åãªèšå®èª¿æŽã§è§£æ±ºã§ããŸããæ ¹æ¬çãªåå ãšå
·äœçãªè§£æ±ºçãæ¢ã£ãŠãããŸãã®ã§ããã²ãä»ãåããã ããã
Windows 11 ã«ããã Java ããŒãã¹ããŒã¹ãšã©ãŒã®äžè¬çãªåå
ä¿®æ£ããåã«ããªããããèµ·ããã®ããæ£ç¢ºã«ç¹å®ããŸãããã
- ããã©ã«ãã®ããŒã ãµã€ãºã®å¶é: Java ã®ããã©ã«ãã®ããŒã ãµã€ãº (å€ãã®å Žå 256 MB ïœ 1 GB) ã¯ãã¡ã¢ãªã倧éã«æ¶è²»ããã¿ã¹ã¯ã«ã¯å°ããããŸãã
- ã¡ã¢ãª ãªãŒã¯: ãªããžã§ã¯ããé©åã«è§£æŸããªããã³ãŒããäžé©åãªã¢ããªã¯ã¡ã¢ãªã倧éã«èç©ããŸãã
- é«è² è·ã¢ããªã±ãŒã·ã§ã³: IntelliJãTomcat ãµãŒããŒãããã° ããŒã¿ ããã»ããµ (Apache Spark ãªã©) ãªã©ã®ããŒã«ã¯ãããŒãå¶éãæ¥éã«æŒãäžããŸãã
- Windows 11 ã®ãªãœãŒã¹ç«¶å: ããã¯ã°ã©ãŠã³ã ããã»ã¹ãæŽæ°ããŸãã¯ãŠã€ã«ã¹å¯ŸçãœãããŠã§ã¢ã«ãã£ãŠã䜿çšå¯èœãª RAM ã鿥çã«å§è¿«ãããå¯èœæ§ããããŸãã
- å€ã Java ããŒãžã§ã³: å€ã JDK ã§ã¯ææ°ã®ã¯ãŒã¯ããŒããå¹ççã«åŠçã§ããªãå¯èœæ§ããããŸãã
ããããèªèããããšã§ãå°æ¥ã®çºçãé²ãããšãã§ããŸããããã§ã¯ãæãç°¡åãªãã®ããé ã«ãä¿®æ£æ¹æ³ãèŠãŠãããŸãããã
Windows 11 ã§ã® Java ããŒãã¹ããŒã¹ãšã©ãŒã®ã¹ããããã€ã¹ãããã®ä¿®æ£æ¹æ³
åºæ¬çãªèª¿æŽããé«åºŠãªæé©åãŸã§ãæ§ã
ãªæ¹æ³ã解説ããŸããã³ãã³ãã©ã€ã³JavaãIDEããµãŒããŒç°å¢ãªã©ãã䜿ãã®ç°å¢ã«åãããŠãéžã³ãã ããããããã®æé ã¯ãææ°ã®Windows 11ãã«ãã§ä¿¡é Œæ§ãã¹ãæžã¿ã§ãã
1. ã³ãã³ãã©ã€ã³ã§JVMããŒããµã€ãºãå¢ãã
ã¹ã¿ã³ãã¢ãã³Javaã¢ããªã®æãç°¡åãªä¿®æ£æ¹æ³ã¯ãJVMãã©ã°ã䜿çšããŠããŒããµã€ãºã調æŽããããšã§ããã³ãã³ãããã³ããã管çè
ãšããŠèµ·åããŸãïŒã¹ã¿ãŒãã¡ãã¥ãŒã§ãcmdããæ€çŽ¢ããå³ã¯ãªãã¯ããŠã管çè
ãšããŠå®è¡ããéžæããŸãïŒã
Java å®è¡å¯èœãã¡ã€ã«ã®ãã£ã¬ã¯ããªã«ç§»åããŠã次ã®ã³ãã³ããå®è¡ããŸãã
java -Xms512m -Xmx2048m -jar YourApp.jar
ããïŒ
- -Xms512m : åæããŒãã 512 MB ã«èšå®ããŸã (RAM ã«å¿ããŠèª¿æŽããŸã)ã
- -Xmx2048m : æå€§ããŒããµã€ãºã 2GB ã«èšå®ããŸãã16GB 以äžã® RAM ãããå Žå㯠4GB 以äžã«æ¡åŒµã§ããŸãã
ããã®ãã³ãïŒã·ã¹ãã å
šäœã®RAM容éãç£èŠããŸãããïŒã¿ã¹ã¯ãããŒãžã£ãŒã§Ctrl+Shift+EscããŒãæŒããªããæäœïŒãéå°ãªå²ãåœãŠã¯ã¹ã¯ãããããã©ãŒãã³ã¹äœäžã®åå ãšãªãå¯èœæ§ããããŸãããã®æ¹æ³ã ãã§ãJavaããŒãã¹ããŒã¹ãšã©ãŒã®70%ã解決ã§ããŸãã
2. Windows 11ã§Eclipseããã®ä»ã®IDEã®ããŒãã¹ããŒã¹ãä¿®æ£ãã
EclipseïŒããããåå ïŒã䜿çšããŠããå Žåããã«ãæããããã°æã«ãšã©ãŒãçºçããããšããããããŸããä¿®æ£ããã«ã¯ïŒ
- Eclipse ã§ãããžã§ã¯ããå³ã¯ãªãã¯ãã[ããããã£] > [å®è¡/ãããã°æ§æ] ãéžæããŸãã
- [åŒæ°] ã¿ãã§ãVM åŒæ°ã«-Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512mã远å ããŸãã
- é©çšããŠEclipseãåèµ·åããŸãã
IntelliJ IDEAã®å ŽåïŒããã«ãã>ãã«ã¹ã¿ã VMãªãã·ã§ã³ã®ç·šéãã«ç§»åããã-Xmx2048mãã远å ããŠåèµ·åããŠãã ããããããã®èª¿æŽã«ãããIDEã«äœè£ãçãŸããå€§èŠæš¡ãããžã§ã¯ãã«ã察å¿ã§ããããã«ãªããŸããããå®å¿ããŸãããïŒãµãŒããŒåºæã®ã¢ããã€ã¹ã«ã€ããŠã¯ãåŒãç¶ããèªã¿ãã ããã
3. Windows 11ã§Tomcatãªã©ã®JavaãµãŒããŒãæé©åãã
Apache Tomcat ãå®è¡ããŠããŸãã?bin/catalina.batãã¡ã€ã«ãç·šéããŸã (ç°¡åã«ããããã« Notepad++ ã䜿çšããŠãã ãã):
- ã®è¡ãèŠã€ããŸã
set "JAVA_OPTS"ã
- 远å : ãJAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx4096mããèšå®ããŸãã
- ä¿åããŠããµãŒãã¹çµç±ã§ Tomcat ãåèµ·åããŸã (ã¹ã¿ãŒã ã¡ãã¥ãŒã§ããµãŒãã¹ããæ€çŽ¢ããTomcat ãèŠã€ããŠå³ã¯ãªãã¯ããŠåèµ·åããŸã)ã
JBossãWebLogicãªã©ã®ä»ã®ãµãŒããŒã§ããåæ§ã®ç·šéãèµ·åã¹ã¯ãªããã«é©çšãããŸããããã«ãããé«ãã©ãã£ãã¯æã®ããŒããªãŒããŒãããŒãé²ããWebã¢ããªã±ãŒã·ã§ã³ã®å®å®æ§ãç¶æã§ããŸãã
4. ææ°ã®äºææ§ã®ããã«JavaãšWindows 11ãæŽæ°ãã
ææ°ã®JavaããŒãžã§ã³ã䜿çšããŠããããšã確èªããŠãã ãããææ°ã®ã»ãã¥ãªãã£ããã³ããã©ãŒãã³ã¹ãããã¯å
¬åŒãµã€ãããããŠã³ããŒãããŠãã ãããWindows 11ã®å Žåã¯ããèšå®ã>ãWindows Updateã>ãæŽæ°ããã°ã©ã ã®ãã§ãã¯ãã§ãOSé¢é£ã®ã¡ã¢ãªãã°ã®å¯èœæ§ãé€å€ããŠãã ããã
ãããéèŠãªçç±: æè¿ã® Java ã¢ããããŒã (JDK 21 以éãªã©) ã«ã¯ãããåªããã¬ããŒãž ã³ã¬ã¯ã·ã§ã³ãå«ãŸããŠãããããŒãå§åãèªåçã«è»œæžãããŸãã
5. é«åºŠãªèª¿æŽ: ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãšç£èŠ
åé¡ã解決ããªãå Žåã¯ã JVMåŒæ°ã«-XX:+UseG1GCãæå®ããŠG1ã¬ããŒãžã³ã¬ã¯ã¿ãæå¹ã«ããŠãã ãããããã«ãããå€§èŠæš¡ãªããŒããå¹ççã«ç®¡çã§ããŸãã
VisualVMïŒOracleããç¡æã§æäŸïŒãªã©ã®ããŒã«ã䜿ã£ãŠäœ¿çšç¶æ³ãç£èŠã§ããŸããVisualVMãèµ·åããJavaããã»ã¹ã«æ¥ç¶ããŠãããŒãã¡ããªã¯ã¹ããªã¢ã«ã¿ã€ã ã§ç£èŠããŸãããªãŒã¯ãç¶ãå Žåã¯ãã³ãŒãã®éå¹çæ§ããããã¡ã€ãªã³ã°ããŠãã ãããJProfilerãªã©ã®ããŒã«ã圹ç«ã¡ãŸããããŸãã¯ã·ã³ãã«ãªãã®ããå§ããŸãããã
ãã©ãã«ã·ã¥ãŒãã£ã³ã°è¡š: äžè¬çãªã·ããªãªã®ã¯ã€ãã¯ãªãã¡ã¬ã³ã¹
ããã«èª¿ã¹ããã§ããïŒWindows 11ã«åãããJava ããŒãã¹ããŒã¹ãšã©ãŒã®ä¿®æ£æ¹æ³ããŸãšãã䟿å©ãªè¡šã¯ãã¡ãã§ãã
| ã·ããªãª |
解決 |
äºæ³ãããããŒãå¢å |
| ã³ãã³ãã©ã€ã³ã¢ã㪠|
Javaã³ãã³ãã®-Xmx2048m |
æå€§2GB |
| Eclipse IDE |
å®è¡æ§æã® VM åŒæ° |
1ïœ4GB |
| Tomcat ãµãŒã㌠|
JAVA_OPTSã䜿çšããŠcatalina.batãç·šéãã |
4GBä»¥äž |
| ã¡ã¢ãªãªãŒã¯ã®çã |
ãããã¡ã€ãªã³ã°ã«ã¯VisualVMã䜿çšãã |
å¯å€ïŒæŒããé²ãïŒ |
å°æ¥ã® Java ããŒãã¹ããŒã¹ãšã©ãŒãåé¿ããããã®äºé²ç
ä¿®æ£ããããå
æãæã£ãŠãã ããã
- â ããŒã ãµã€ãºã RAM å
šäœã® 50 ïœ 70% ã«èšå®ããŸãã
- Oracle ã®å
¬åŒãµã€ããã Java ã宿çã«æŽæ°ããŠãã ããã
- ã³ãŒããæé©åããŸãã匱åç
§ã䜿çšããäžèŠãªãªããžã§ã¯ãã®äœæãåé¿ããŸãã
- æ©æèŠåãåŸãã«ã¯ãã¿ã¹ã¯ ãããŒãžã£ãŒãŸã㯠JConsole ã§ç£èŠããŸãã
ããããå®è£
ããããšã§ãWindows 11ã® Java ç°å¢ãå
ç¢ã«ãªããŸããç¹å®ã®ã¢ããªãæ±ã£ãŠããå Žåã¯ãäžèšã«ã³ã¡ã³ããæ®ããŠãã ããããããã®æé ãæ¹åãããæäŒãããããŠããã ããŸãã
ãŸãšã: Javaã¯ãŒã¯ãããŒãä»ããåãæ»ãã
Windows 11 ã§ Java ããŒãã¹ããŒã¹ãšã©ãŒãä¿®æ£ããã®ã¯ãå¿
ãããæªå€¢ã§ã¯ãããŸããããããã®çç¢ºãªæé ãèžãã°ãããã©ãŒãã³ã¹ãåäžãããçŽ æŽãããã¢ããªã®éçºãšããæ¬æ¥ã®ç®çã«éäžã§ããããã«ãªããŸããEclipse ã®èª¿æŽåå¿è
ã§ãããµãŒããŒã®æé©åã«é·ããããã§ãããããã®ãœãªã¥ãŒã·ã§ã³ã¯ããã«ææããããããŸãããããæåã®ä¿®æ£ã詊ããŠã¿ãŸãããïŒããã¹ã ãŒãºãª Java äœéšãåŸ
ã£ãŠããŸãïŒð
åèªæ°: çŽ 950ããã®ä»ã®æè¡ã¬ã€ãã«ã€ããŠã¯ãåœç€Ÿã®ãµã€ããã芧ãã ããã