|
27 | 27 | import java.net.URISyntaxException;
|
28 | 28 | import java.net.URL;
|
29 | 29 | import java.time.Instant;
|
30 |
| -import java.util.ArrayList; |
31 |
| -import java.util.Arrays; |
| 30 | +import java.util.*; |
32 | 31 | import java.util.List;
|
33 |
| -import java.util.Map; |
34 |
| -import java.util.Optional; |
35 | 32 | import java.util.concurrent.CancellationException;
|
36 | 33 | import java.util.concurrent.CompletableFuture;
|
37 | 34 | import java.util.concurrent.TimeUnit;
|
@@ -245,7 +242,17 @@ private void checkJvmFlags(EmbedBuilder embedBuilder, JsonObject system) {
|
245 | 242 | if (jvmFlags.contains("-XX:+UseZGC")) {
|
246 | 243 | final String jvmVersion = system.get("jvmversion").getAsString();
|
247 | 244 | if (Integer.parseInt(jvmVersion.split("\\.")[0]) < 14)
|
248 |
| - embedBuilder.addField("Java version & ZGC", "If you are going to use ZGC, you should also use Java 14+.", true); |
| 245 | + embedBuilder.addField("Java version & ZGC", "If you are going to use ZGC, you should also use Java 15 or later.", true); |
| 246 | + if (jvmFlags.contains("-Xmx")) { |
| 247 | + int maxMem = 0; |
| 248 | + String xmxString = jvmFlags.substring(jvmFlags.indexOf("-Xmx")); |
| 249 | + xmxString = xmxString.substring(4,xmxString.indexOf(" ")).toLowerCase(Locale.ENGLISH).replace("g", "000").replace("m", ""); |
| 250 | + try { |
| 251 | + if (Integer.parseInt(xmxString) < 10000) { |
| 252 | + embedBuilder.addField("Low Memory", "ZGC is only good with a lot of memory. It's recommended to only use it with 10GB+ of memory.", true); |
| 253 | + } |
| 254 | + } catch (NumberFormatException ignored) { } |
| 255 | + } |
249 | 256 | } else if (jvmFlags.contains("-Daikars.new.flags=true")) {
|
250 | 257 | if (!jvmFlags.contains("XX:G1MixedGCCountTarget=4"))
|
251 | 258 | embedBuilder.addField("Outdated JVM Flags", "Add `-XX:G1MixedGCCountTarget=4` to flags.", true);
|
|
0 commit comments