geforkt von SteamWar/BungeeCore
Memory threshold
Signed-off-by: Lixfel <agga-games@gmx.de>
Dieser Commit ist enthalten in:
Ursprung
a8d62d6115
Commit
74df8a82a3
@ -34,6 +34,7 @@ public abstract class Node {
|
||||
|
||||
private static final List<String> JVM_ARGS = Arrays.asList("-Dlog4j.configurationFile=log4j2.xml", "-server", "-Xms128M", "-XX:+UseCompressedOops", "-XX:+TieredCompilation", "-XX:TargetSurvivorRatio=90", "-XX:SurvivorRatio=8", "-XX:MaxTenuringThreshold=15", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseBiasedLocking", "-XX:UseSSE=3", "-XX:+UseCodeCacheFlushing", "-XX:+UseThreadPriorities", "-XX:+AggressiveOpts", "-XX:+ReduceSignalUsage", "-XX:+UseInterpreter", "-XX:+UseSharedSpaces", "-XX:AllocatePrefetchStyle=1", "-XX:+AlwaysCompileLoopMethods", "-XX:+UseConcMarkSweepGC", "-XX:+RewriteFrequentPairs", "-XX:+OptimizeStringConcat", "-XX:+CMSCleanOnEnter", "-XX:+UseInlineCaches");
|
||||
private static final List<String> JVM8_ARGS = Arrays.asList("-XX:ThreadPriorityPolicy=42", "-XX:SharedReadOnlySize=30m", "-XX:+UseFastEmptyMethods", "-XX:+UseFastAccessorMethods");
|
||||
private static final long minFreeMem = 4L * 1024 * 1024; // 4 GB
|
||||
|
||||
private static final List<Node> nodes = new ArrayList<>();
|
||||
public static Node local = null;
|
||||
@ -160,7 +161,7 @@ public abstract class Node {
|
||||
throw new SecurityException("Could not read local cpu", e);
|
||||
}
|
||||
|
||||
return cpuLoad / cores + (totalMem - freeMem) / totalMem;
|
||||
return cpuLoad / cores + freeMem > minFreeMem ? 0 : ((totalMem - freeMem) / totalMem);
|
||||
}
|
||||
}
|
||||
|
||||
@ -250,7 +251,7 @@ public abstract class Node {
|
||||
double totalMem = Double.parseDouble(bufferedReader.readLine().replaceAll(" +", " ").split(" ")[1]);
|
||||
bufferedReader.readLine();
|
||||
double freeMem = Double.parseDouble(bufferedReader.readLine().replaceAll(" +", " ").split(" ")[1]);
|
||||
return cpuLoad / cores + (totalMem - freeMem) / totalMem;
|
||||
return cpuLoad / cores + freeMem > minFreeMem ? 0 : ((totalMem - freeMem) / totalMem);
|
||||
} catch (IOException e) {
|
||||
BungeeCore.get().getLogger().log(Level.SEVERE, "Could read load", e);
|
||||
return Double.POSITIVE_INFINITY;
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren