diff --git a/src/MemoryManager.php b/src/MemoryManager.php index 01620b105b..a0e9b741c6 100644 --- a/src/MemoryManager.php +++ b/src/MemoryManager.php @@ -230,7 +230,7 @@ class MemoryManager{ if(($this->memoryLimit > 0 or $this->globalMemoryLimit > 0) and ++$this->checkTicker >= $this->checkRate){ $this->checkTicker = 0; - $memory = Process::getMemoryUsage(true); + $memory = Process::getAdvancedMemoryUsage(); $trigger = false; if($this->memoryLimit > 0 and $memory[0] > $this->memoryLimit){ $trigger = 0; diff --git a/src/Server.php b/src/Server.php index ff3024b22d..b7732ee0f7 100644 --- a/src/Server.php +++ b/src/Server.php @@ -1618,7 +1618,7 @@ class Server{ Timings::$titleTickTimer->startTiming(); $d = Process::getRealMemoryUsage(); - $u = Process::getMemoryUsage(true); + $u = Process::getAdvancedMemoryUsage(); $usage = sprintf("%g/%g/%g/%g MB @ %d threads", round(($u[0] / 1024) / 1024, 2), round(($d[0] / 1024) / 1024, 2), round(($u[1] / 1024) / 1024, 2), round(($u[2] / 1024) / 1024, 2), Process::getThreadCount()); $online = count($this->playerList); diff --git a/src/command/defaults/StatusCommand.php b/src/command/defaults/StatusCommand.php index 82a5d1f603..8c8d71af89 100644 --- a/src/command/defaults/StatusCommand.php +++ b/src/command/defaults/StatusCommand.php @@ -49,7 +49,7 @@ class StatusCommand extends VanillaCommand{ } $rUsage = Process::getRealMemoryUsage(); - $mUsage = Process::getMemoryUsage(true); + $mUsage = Process::getAdvancedMemoryUsage(); $server = $sender->getServer(); $sender->sendMessage(TextFormat::GREEN . "---- " . TextFormat::WHITE . "Server status" . TextFormat::GREEN . " ----"); diff --git a/src/event/server/LowMemoryEvent.php b/src/event/server/LowMemoryEvent.php index 46f0c8022c..7c7a090a69 100644 --- a/src/event/server/LowMemoryEvent.php +++ b/src/event/server/LowMemoryEvent.php @@ -75,6 +75,7 @@ class LowMemoryEvent extends ServerEvent{ * Amount of memory already freed */ public function getMemoryFreed() : int{ - return $this->getMemory() - ($this->isGlobal() ? Process::getMemoryUsage(true)[1] : Process::getMemoryUsage(true)[0]); + $usage = Process::getAdvancedMemoryUsage(); + return $this->getMemory() - ($this->isGlobal() ? $usage[1] : $usage[0]); } } diff --git a/src/scheduler/SendUsageTask.php b/src/scheduler/SendUsageTask.php index 4b12b26c76..c78d8b116a 100644 --- a/src/scheduler/SendUsageTask.php +++ b/src/scheduler/SendUsageTask.php @@ -133,7 +133,7 @@ class SendUsageTask extends AsyncTask{ "historyList" => array_values($playerList) ]; - $info = Process::getMemoryUsage(true); + $info = Process::getAdvancedMemoryUsage(); $data["system"] = [ "mainMemory" => $info[0], "totalMemory" => $info[1], diff --git a/src/utils/Process.php b/src/utils/Process.php index d177c9be57..c76f9caf58 100644 --- a/src/utils/Process.php +++ b/src/utils/Process.php @@ -47,9 +47,10 @@ final class Process{ } /** - * @return int[]|int + * @return int[] + * @phpstan-return array{int,int,int} */ - public static function getMemoryUsage(bool $advanced = false){ + public static function getAdvancedMemoryUsage(){ $reserved = memory_get_usage(); $VmSize = null; $VmRSS = null; @@ -70,10 +71,6 @@ final class Process{ $VmRSS = memory_get_usage(); } - if(!$advanced){ - return $VmRSS; - } - if($VmSize === null){ $VmSize = memory_get_usage(true); } @@ -81,6 +78,10 @@ final class Process{ return [$reserved, $VmRSS, $VmSize]; } + public static function getMemoryUsage() : int{ + return self::getAdvancedMemoryUsage()[1]; + } + /** * @return int[] */