{"id":2906,"date":"2023-12-18T12:14:26","date_gmt":"2023-12-18T03:14:26","guid":{"rendered":"https:\/\/mifmif.mydns.jp\/masterkudo\/?p=2906"},"modified":"2023-12-18T12:14:26","modified_gmt":"2023-12-18T03:14:26","slug":"post-2906","status":"publish","type":"post","link":"https:\/\/mifmif.mydns.jp\/masterkudo\/?p=2906","title":{"rendered":"Oracle OpenJava\u304b\u3089GraalVM Enterprise Edition\u306b\u5909\u66f4\u3057\u3066\u3001Mainecraft Server Purpur\u306eAvr.tick\u306e\u30ea\u30c7\u30e5\u30fc\u30b9\u3002Reducing Avr.tick from Minecraft Server Purpur by changing from Oracle OpenJava to GraalVM Enterprise Edition."},"content":{"rendered":"<p>Java\u306f\u53e4\u304f\u9045\u3044\u3082\u306e\u30fb\u30fb\u30fb\u3068\u3044\u3046\u3053\u3068\u304b\u3089\u5c11\u3057\u305a\u3064\u6539\u5584\u306f\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002<br \/>\n\u4eca\u56de\u306f\u3001Purpur\u30b5\u30fc\u30d0\u306eAvr.Tick Time\u3092\u30ea\u30c7\u30e5\u30fc\u30b9\u3057\u3066\u307f\u307e\u3059\u3002<br \/>\n\u307e\u305a\u4ee5\u4e0b\u304b\u3089\u3001GraalVM Enterprise Edition\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002<br \/>\nJava is old and slow, but it seems to be improving little by little.<br \/>\nThis time, I reduced &#8220;Avr.Tick Time&#8221; on the Purpur server.<br \/>\nFirst, download &#8220;GraalVM Enterprise Edition&#8221; from below.<\/p>\n<p><a href=\"https:\/\/www.oracle.com\/downloads\/graalvm-downloads.html\">https:\/\/www.oracle.com\/downloads\/graalvm-downloads.html<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11-1024x709.jpg\" alt=\"\" width=\"1024\" height=\"709\" class=\"alignnone size-large wp-image-2907\" srcset=\"https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11-1024x709.jpg 1024w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11-300x208.jpg 300w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11-768x532.jpg 768w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11-530x367.jpg 530w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11-565x391.jpg 565w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11-710x492.jpg 710w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11-725x502.jpg 725w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/1cbae0a4731e7ff7feb6c3fc4f756d11.jpg 1326w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>\u7121\u6599\u306e\u767b\u9332\u3057\u306a\u3044\u3068\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u306e\u3067\u767b\u9332\u5f8c\u306b\u3001\u30ed\u30b0\u30a4\u30f3\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002<br \/>\nYou cannot download this file unless you register for free, so please log in and download after registering.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/b9c0612eb69980b976184d6df516b442.jpg\" alt=\"\" width=\"906\" height=\"817\" class=\"alignnone size-full wp-image-2908\" srcset=\"https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/b9c0612eb69980b976184d6df516b442.jpg 906w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/b9c0612eb69980b976184d6df516b442-300x271.jpg 300w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/b9c0612eb69980b976184d6df516b442-768x693.jpg 768w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/b9c0612eb69980b976184d6df516b442-530x478.jpg 530w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/b9c0612eb69980b976184d6df516b442-565x509.jpg 565w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/b9c0612eb69980b976184d6df516b442-710x640.jpg 710w, https:\/\/mifmif.mydns.jp\/masterkudo\/wp-content\/uploads\/2023\/12\/b9c0612eb69980b976184d6df516b442-725x654.jpg 725w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/p>\n<p>\u57f7\u7b46\u73fe\u5728\u306f\u3001<br \/>\ngraalvm-ee-java17-linux-amd64-22.3.4.tar.gz<br \/>\n\u304c\u5165\u624b\u3067\u304d\u307e\u3057\u305f\u3002<br \/>\nAt the time of writing,<br \/>\n&#8220;graalvm-ee-java17-linux-amd64-22.3.4.tar.gz&#8221;<br \/>\nI got that tar.gz file now.<\/p>\n<p>\u624b\u52d5\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u307e\u305f\u300cAltanatives\u300d\u3067\u9078\u629e\u53ef\u80fd\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br \/>\nWe will install it manually. Also, make it selectable in &#8220;Altanatives&#8221;.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>$ cd ~\/\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\r\n..or cd ~\/Downloads\r\n$ sudo mkdir -p \/usr\/lib\/jvm\/graalvm-ee-java17-linux-amd64\r\n$ sudo tar zxvf graalvm-ee-java17-linux-amd64-22.3.4.tar.gz -C \/usr\/lib\/jvm\/graalvm-ee-java17-linux-amd64 --strip-components=1\r\n$ sudo update-alternatives --install \/usr\/bin\/java java \/usr\/lib\/jvm\/graalvm-ee-java17-linux-amd64\/bin\/java 1017\r\n$ sudo update-alternatives --config java\r\n-----\r\nAnd select tha number of \/usr\/lib\/jvm\/graalvm-ee-java17-linux-amd64\/bin\/java\r\n\u305d\u3057\u3066\u3001\/usr\/lib\/jvm\/graalvm-ee-java17-linux-amd64\/bin\/java\u306e\u756a\u53f7\u306e\u6570\u5b57\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/code><\/pre>\n<\/div>\n<p>Java\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u78ba\u8a8d\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>$ java -version\r\njava version \"17.0.9\" 2023-10-17 LTS\r\nJava(TM) SE Runtime Environment GraalVM EE 22.3.4 (build 17.0.9+11-LTS-jvmci-22.3-b28)\r\nJava HotSpot(TM) 64-Bit Server VM GraalVM EE 22.3.4 (build 17.0.9+11-LTS-jvmci-22.3-b28, mixed mode, sharing)<\/code><\/pre>\n<\/div>\n<p>\u3053\u306e\u5834\u5408\u306eJava\u306e\u5f15\u6570\u306b\u306f\u3001\u660e\u793a\u7684\u306b-XX:+UseJVMCICompiler\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4ed8\u3051\u308b\u3068\u3044\u3044\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u4f8b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\nIn this case, I think it would be a good idea to explicitly add the -XX:+UseJVMCICompiler option to the Java argument.<br \/>\nAn example would be:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>java -server -Xmx12G -Xms10G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:G1NewSizePercent=20 -XX:G1MaxNewSizePercent=60 -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -XX:+UseCompressedOops -XX:CompressedClassSpaceSize=512M -XX:G1HeapRegionSize=32M -XX:ParallelGCThreads=4 -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -jar purpur-1.20.1-2062.jar<\/code><\/pre>\n<\/div>\n<p>\uff12\uff14\uff0d\uff1e\uff11\uff18\uff4d\uff53\u3078\u3001\uff13\uff15\uff0d\uff1e\uff13\uff10\uff4d\uff53\u304f\u3089\u3044\u306e\u9055\u3044\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u5272\u5408\u3067\u5909\u308f\u308b\u305f\u3081\u5c0f\u3055\u3044\u5834\u5408\u306f\u3042\u307e\u308a\u52b9\u679c\u304c\u51fa\u307e\u305b\u3093\u3002<\/p>\n<p>There was a difference of about 24-&gt;18ms and 35-&gt;30ms. Since it changes depending on the ratio, it will not be very effective if it is small.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java\u306f\u53e4\u304f\u9045\u3044\u3082\u306e\u30fb\u30fb\u30fb\u3068\u3044\u3046\u3053\u3068\u304b\u3089\u5c11\u3057\u305a\u3064\u6539\u5584\u306f\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002 \u4eca\u56de\u306f\u3001Purpur\u30b5\u30fc\u30d0\u306eAvr.Tick Time\u3092\u30ea\u30c7\u30e5\u30fc\u30b9\u3057\u3066\u307f\u307e\u3059\u3002 \u307e\u305a\u4ee5\u4e0b\u304b\u3089\u3001GraalVM Enterprise Editi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2909,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2906","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1"],"_links":{"self":[{"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=\/wp\/v2\/posts\/2906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2906"}],"version-history":[{"count":1,"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=\/wp\/v2\/posts\/2906\/revisions"}],"predecessor-version":[{"id":2910,"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=\/wp\/v2\/posts\/2906\/revisions\/2910"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=\/wp\/v2\/media\/2909"}],"wp:attachment":[{"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mifmif.mydns.jp\/masterkudo\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}