mirror of
https://github.com/PaperMC/Paper.git
synced 2024-08-26 22:50:23 +02:00
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
Bukkit Changes:
565a5727 #533: Add consumed item, hand and consumeItem boolean to EntityShootBowEvent
CraftBukkit Changes:
927200a9
#718: Add consumed item, hand and consumeItem boolean to EntityShootBowEvent
31 lines
1.5 KiB
Diff
31 lines
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Mon, 4 May 2020 01:08:56 -0400
|
|
Subject: [PATCH] Set cap on JDK per-thread native byte buffer cache
|
|
|
|
See: https://www.evanjones.ca/java-bytebuffer-leak.html
|
|
|
|
This is potentially a source of lots of native memory usage.
|
|
|
|
We are clearly seeing native usage upwards to 1-4GB which doesn't make sense.
|
|
|
|
Region File usage fixed in previous patch should of tecnically only been somewhat
|
|
temporary until GC finally gets it some time later, but between all the various
|
|
plugins doing IO on various threads, this hidden detail of the JDK could be
|
|
keeping long lived large direct buffers in cache.
|
|
|
|
Set system properly at server startup if not set already to help protect from this.
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
index c8cbb853c7cbcc251da422e99c6c76ba72d6b733..bac292e6d8e6cdb239d8accd21eaa25022f5640f 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
@@ -20,6 +20,7 @@ public class Main {
|
|
|
|
public static void main(String[] args) {
|
|
// Todo: Installation script
|
|
+ if (System.getProperty("jdk.nio.maxCachedBufferSize") == null) System.setProperty("jdk.nio.maxCachedBufferSize", "262144"); // Paper - cap per-thread NIO cache size
|
|
OptionParser parser = new OptionParser() {
|
|
{
|
|
acceptsAll(asList("?", "help"), "Show the help");
|