getRealMemoryUsage() public static method

public static getRealMemoryUsage ( )
Example #1
0
 public function check()
 {
     $d = Utils::getRealMemoryUsage();
     $u = Utils::getMemoryUsage(true);
     $usage = round($u[0] / 1024 / 1024, 2) . "/" . round($d[0] / 1024 / 1024, 2) . "/" . round($u[1] / 1024 / 1024, 2) . "/" . round($u[2] / 1024 / 1024, 2) . " MB @ " . Utils::getThreadCount() . " threads";
     $serverStatus = serialize(["online" => count($this->server->getOnlinePlayers()), "max" => $this->server->getMaxPlayers(), "upload" => round($this->server->getNetwork()->getUpload() / 1024, 2), "download" => round($this->server->getNetwork()->getDownload() / 1024, 2), "tps" => $this->server->getTicksPerSecondAverage(), "load" => $this->server->getTickUsageAverage(), "usage" => $usage]);
     for ($n = 0; $n < $this->threads; ++$n) {
         if (!$this->workers[$n]->isTerminated()) {
             $this->workers[$n]->serverStatus = $serverStatus;
         }
         if ($this->workers[$n]->isTerminated() === true) {
             $this->workers[$n] = new RCONInstance($this->socket, $this->password, $this->clientsPerThread);
         } elseif ($this->workers[$n]->isWaiting()) {
             if ($this->workers[$n]->response !== "") {
                 $this->server->getLogger()->info($this->workers[$n]->response);
                 $this->workers[$n]->synchronized(function (RCONInstance $thread) {
                     $thread->notify();
                 }, $this->workers[$n]);
             } else {
                 $response = new RemoteConsoleCommandSender();
                 $command = $this->workers[$n]->cmd;
                 $this->server->getPluginManager()->callEvent($ev = new RemoteServerCommandEvent($response, $command));
                 if (!$ev->isCancelled()) {
                     $this->server->dispatchCommand($ev->getSender(), $ev->getCommand());
                 }
                 $this->workers[$n]->response = $response->getMessage();
                 $this->workers[$n]->synchronized(function (RCONInstance $thread) {
                     $thread->notify();
                 }, $this->workers[$n]);
             }
         }
     }
 }
Example #2
0
 public function execute(CommandSender $sender, $currentAlias, array $args)
 {
     if (!$this->testPermission($sender)) {
         return true;
     }
     $rUsage = Utils::getRealMemoryUsage();
     $mUsage = Utils::getMemoryUsage(true);
     $server = $sender->getServer();
     $sender->sendMessage(TextFormat::GREEN . "---- " . TextFormat::WHITE . "%pocketmine.command.status.title" . TextFormat::GREEN . " ----");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.player " . TextFormat::GREEN . count($sender->getServer()->getOnlinePlayers()) . "/" . $sender->getServer()->getMaxPlayers());
     $time = microtime(true) - \pocketmine\START_TIME;
     $seconds = floor($time % 60);
     $minutes = null;
     $hours = null;
     $days = null;
     if ($time >= 60) {
         $minutes = floor($time % 3600 / 60);
         if ($time >= 3600) {
             $hours = floor($time % (3600 * 24) / 3600);
             if ($time >= 3600 * 24) {
                 $days = floor($time / (3600 * 24));
             }
         }
     }
     $uptime = ($minutes !== null ? ($hours !== null ? ($days !== null ? "{$days} %pocketmine.command.status.days " : "") . "{$hours} %pocketmine.command.status.hours " : "") . "{$minutes} %pocketmine.command.status.minutes " : "") . "{$seconds} %pocketmine.command.status.seconds";
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.uptime " . TextFormat::RED . $uptime);
     $tpsColor = TextFormat::GREEN;
     if ($server->getTicksPerSecondAverage() < 10) {
         $tpsColor = TextFormat::GOLD;
     } elseif ($server->getTicksPerSecondAverage() < 1) {
         $tpsColor = TextFormat::RED;
     }
     $tpsColour = TextFormat::GREEN;
     if ($server->getTicksPerSecond() < 10) {
         $tpsColour = TextFormat::GOLD;
     } elseif ($server->getTicksPerSecond() < 1) {
         $tpsColour = TextFormat::RED;
     }
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.AverageTPS " . $tpsColor . $server->getTicksPerSecondAverage() . " (" . $server->getTickUsageAverage() . "%)");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.CurrentTPS " . $tpsColour . $server->getTicksPerSecond() . " (" . $server->getTickUsage() . "%)");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Networkupload " . TextFormat::RED . round($server->getNetwork()->getUpload() / 1024, 2) . " kB/s");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Networkdownload " . TextFormat::RED . round($server->getNetwork()->getDownload() / 1024, 2) . " kB/s");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Threadcount " . TextFormat::RED . Utils::getThreadCount());
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Mainmemory " . TextFormat::RED . number_format(round($mUsage[0] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Totalmemory " . TextFormat::RED . number_format(round($mUsage[1] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Totalvirtualmemory " . TextFormat::RED . number_format(round($mUsage[2] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Heapmemory " . TextFormat::RED . number_format(round($rUsage[0] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Maxmemorysystem " . TextFormat::RED . number_format(round($mUsage[2] / 1024 / 1024, 2)) . " MB.");
     if ($server->getProperty("memory.global-limit") > 0) {
         $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Maxmemorymanager " . TextFormat::RED . number_format(round($server->getProperty("memory.global-limit"), 2)) . " MB.");
     }
     foreach ($server->getLevels() as $level) {
         $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.World \"" . $level->getFolderName() . "\"" . ($level->getFolderName() !== $level->getName() ? " (" . $level->getName() . ")" : "") . ": " . TextFormat::RED . number_format(count($level->getChunks())) . TextFormat::GREEN . " %pocketmine.command.status.chunks " . TextFormat::RED . number_format(count($level->getEntities())) . TextFormat::GREEN . " %pocketmine.command.status.entities " . TextFormat::RED . number_format(count($level->getTiles())) . TextFormat::GREEN . " %pocketmine.command.status.tiles " . "%pocketmine.command.status.Time " . (($level->getTickRate() > 1 or $level->getTickRateTime() > 40) ? TextFormat::RED : TextFormat::YELLOW) . round($level->getTickRateTime(), 2) . "%pocketmine.command.status.ms" . ($level->getTickRate() > 1 ? " (tick rate " . $level->getTickRate() . ")" : ""));
     }
     return true;
 }
Example #3
0
 public function execute(CommandSender $sender, $currentAlias, array $args)
 {
     if (!$this->testPermission($sender)) {
         return \true;
     }
     $mUsage = Utils::getMemoryUsage(\true);
     $rUsage = Utils::getRealMemoryUsage(\true);
     $server = $sender->getServer();
     $sender->sendMessage(TextFormat::GREEN . "---- " . TextFormat::WHITE . "服务器状态" . TextFormat::GREEN . " ----");
     $sender->sendMessage(TextFormat::GOLD . "服务器人数: " . TextFormat::GREEN . \count($sender->getServer()->getOnlinePlayers()) . "/" . $sender->getServer()->getMaxPlayers());
     $time = \microtime(\true) - \pocketmine\START_TIME;
     $seconds = \floor($time % 60);
     $minutes = \null;
     $hours = \null;
     $days = \null;
     if ($time >= 60) {
         $minutes = \floor($time % 3600 / 60);
         if ($time >= 3600) {
             $hours = \floor($time % (3600 * 24) / 3600);
             if ($time >= 3600 * 24) {
                 $days = \floor($time / (3600 * 24));
             }
         }
     }
     $uptime = ($minutes !== \null ? ($hours !== \null ? ($days !== \null ? "{$days} 天 " : "") . "{$hours} 小时 " : "") . "{$minutes} 分 " : "") . "{$seconds} 秒";
     $sender->sendMessage(TextFormat::GOLD . "运行时间: " . TextFormat::RED . $uptime);
     $tpsColor = TextFormat::GREEN;
     if ($server->getTicksPerSecondAverage() < 10) {
         $tpsColor = TextFormat::GOLD;
     } elseif ($server->getTicksPerSecondAverage() < 1) {
         $tpsColor = TextFormat::RED;
     }
     $tpsColour = TextFormat::GREEN;
     if ($server->getTicksPerSecond() < 10) {
         $tpsColour = TextFormat::GOLD;
     } elseif ($server->getTicksPerSecond() < 1) {
         $tpsColour = TextFormat::RED;
     }
     $sender->sendMessage(TextFormat::GOLD . "平均TPS: " . $tpsColor . $server->getTicksPerSecondAverage() . " (" . $server->getTickUsageAverage() . "%)");
     $sender->sendMessage(TextFormat::GOLD . "瞬时TPS: " . $tpsColour . $server->getTicksPerSecond() . " (" . $server->getTickUsage() . "%)");
     $sender->sendMessage(TextFormat::GOLD . "网络上传: " . TextFormat::RED . \round($server->getNetwork()->getUpload() / 1024, 2) . " kB/s");
     $sender->sendMessage(TextFormat::GOLD . "网络下载: " . TextFormat::RED . \round($server->getNetwork()->getDownload() / 1024, 2) . " kB/s");
     $sender->sendMessage(TextFormat::GOLD . "线程总数: " . TextFormat::RED . Utils::getThreadCount());
     $sender->sendMessage(TextFormat::GOLD . "主线程内存: " . TextFormat::RED . \number_format(\round($mUsage[0] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "总内存: " . TextFormat::RED . \number_format(\round($mUsage[1] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "总虚拟内存: " . TextFormat::RED . number_format(round($mUsage[2] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "堆栈内存: " . TextFormat::RED . number_format(round($rUsage[0] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "系统最大内存: " . TextFormat::RED . \number_format(\round($mUsage[2] / 1024 / 1024, 2)) . " MB.");
     if ($server->getProperty("memory.global-limit") > 0) {
         $sender->sendMessage(TextFormat::GOLD . "核心全局最大内存: " . TextFormat::RED . \number_format(\round($server->getProperty("memory.global-limit"), 2)) . " MB.");
     }
     foreach ($server->getLevels() as $level) {
         $sender->sendMessage(TextFormat::GOLD . "世界 \"" . $level->getFolderName() . "\"" . ($level->getFolderName() !== $level->getName() ? " (" . $level->getName() . ")" : "") . ": " . TextFormat::RED . \number_format(\count($level->getChunks())) . TextFormat::GREEN . " 区块, " . TextFormat::RED . \number_format(\count($level->getEntities())) . TextFormat::GREEN . " 实体, " . TextFormat::RED . \number_format(\count($level->getTiles())) . TextFormat::GREEN . " tiles. " . "时间 " . (($level->getTickRate() > 1 or $level->getTickRateTime() > 40) ? TextFormat::RED : TextFormat::YELLOW) . \round($level->getTickRateTime(), 2) . "毫秒" . ($level->getTickRate() > 1 ? " (tick rate " . $level->getTickRate() . ")" : ""));
     }
     return \true;
 }
Example #4
0
 public function execute(CommandSender $sender, $currentAlias, array $args)
 {
     if (!$this->testPermission($sender)) {
         return true;
     }
     $rUsage = Utils::getRealMemoryUsage();
     $mUsage = Utils::getMemoryUsage(true);
     $server = $sender->getServer();
     $sender->sendMessage(TextFormat::GREEN . "---- " . TextFormat::WHITE . "Server status" . TextFormat::GREEN . " ----");
     $time = microtime(true) - \pocketmine\START_TIME;
     $seconds = floor($time % 60);
     $minutes = null;
     $hours = null;
     $days = null;
     if ($time >= 60) {
         $minutes = floor($time % 3600 / 60);
         if ($time >= 3600) {
             $hours = floor($time % (3600 * 24) / 3600);
             if ($time >= 3600 * 24) {
                 $days = floor($time / (3600 * 24));
             }
         }
     }
     $uptime = ($minutes !== null ? ($hours !== null ? ($days !== null ? "{$days} days " : "") . "{$hours} hours " : "") . "{$minutes} minutes " : "") . "{$seconds} seconds";
     $sender->sendMessage(TextFormat::GOLD . "Uptime: " . TextFormat::RED . $uptime);
     $tpsColor = TextFormat::GREEN;
     if ($server->getTicksPerSecond() < 17) {
         $tpsColor = TextFormat::GOLD;
     } elseif ($server->getTicksPerSecond() < 12) {
         $tpsColor = TextFormat::RED;
     }
     $sender->sendMessage(TextFormat::GOLD . "Current TPS: {$tpsColor}{$server->getTicksPerSecond()} ({$server->getTickUsage()}%)");
     $sender->sendMessage(TextFormat::GOLD . "Network upload: " . TextFormat::RED . round($server->getNetwork()->getUpload() / 1024, 2) . " kB/s");
     $sender->sendMessage(TextFormat::GOLD . "Network download: " . TextFormat::RED . round($server->getNetwork()->getDownload() / 1024, 2) . " kB/s");
     $sender->sendMessage(TextFormat::GOLD . "Thread count: " . TextFormat::RED . Utils::getThreadCount());
     $sender->sendMessage(TextFormat::GOLD . "Main thread memory: " . TextFormat::RED . number_format(round($mUsage[0] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "Total memory: " . TextFormat::RED . number_format(round($mUsage[1] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "Total virtual memory: " . TextFormat::RED . number_format(round($mUsage[2] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "Heap memory: " . TextFormat::RED . number_format(round($rUsage[0] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "Maximum memory (system): " . TextFormat::RED . number_format(round($mUsage[2] / 1024 / 1024, 2)) . " MB.");
     if ($server->getProperty("memory.global-limit") > 0) {
         $sender->sendMessage(TextFormat::GOLD . "Maximum memory (manager): " . TextFormat::RED . number_format(round($server->getProperty("memory.global-limit"), 2)) . " MB.");
     }
     foreach ($server->getLevels() as $level) {
         $levelName = $level->getFolderName() !== $level->getName() ? " (" . $level->getName() . ")" : "";
         $timeColor = ($level->getTickRate() > 1 or $level->getTickRateTime() > 40) ? TextFormat::RED : TextFormat::YELLOW;
         $tickRate = $level->getTickRate() > 1 ? " (tick rate " . $level->getTickRate() . ")" : "";
         $sender->sendMessage(TextFormat::GOLD . "World \"{$level->getFolderName()}\"{$levelName}: " . TextFormat::RED . number_format(count($level->getChunks())) . TextFormat::GREEN . " chunks, " . TextFormat::RED . number_format(count($level->getEntities())) . TextFormat::GREEN . " entities, " . TextFormat::RED . number_format(count($level->getTiles())) . TextFormat::GREEN . " tiles. " . "Time {$timeColor}" . round($level->getTickRateTime(), 2) . "ms" . $tickRate);
     }
     return true;
 }
Example #5
0
 public function execute(CommandSender $sender, $currentAlias, array $args)
 {
     if (!$this->testPermission($sender)) {
         return true;
     }
     $mUsage = Utils::getMemoryUsage(true);
     $rUsage = Utils::getRealMemoryUsage();
     $server = $sender->getServer();
     $onlineCount = 0;
     foreach ($sender->getServer()->getOnlinePlayers() as $player) {
         if ($player->isOnline() and (!$sender instanceof Player or $sender->canSee($player))) {
             ++$onlineCount;
         }
     }
     $sender->sendMessage(TextFormat::GREEN . "---- " . TextFormat::WHITE . "%pocketmine.command.status.title" . TextFormat::GREEN . " ----");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.player" . TextFormat::GREEN . " " . $onlineCount . "/" . $sender->getServer()->getMaxPlayers());
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.uptime " . TextFormat::RED . $sender->getServer()->getUptime());
     $tpsColor = TextFormat::GREEN;
     if ($server->getTicksPerSecondAverage() < 10) {
         $tpsColor = TextFormat::GOLD;
     } elseif ($server->getTicksPerSecondAverage() < 1) {
         $tpsColor = TextFormat::RED;
     }
     $tpsColour = TextFormat::GREEN;
     if ($server->getTicksPerSecond() < 10) {
         $tpsColour = TextFormat::GOLD;
     } elseif ($server->getTicksPerSecond() < 1) {
         $tpsColour = TextFormat::RED;
     }
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.AverageTPS " . $tpsColor . $server->getTicksPerSecondAverage() . " (" . $server->getTickUsageAverage() . "%)");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.CurrentTPS " . $tpsColour . $server->getTicksPerSecond() . " (" . $server->getTickUsage() . "%)");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Networkupload " . TextFormat::RED . \round($server->getNetwork()->getUpload() / 1024, 2) . " kB/s");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Networkdownload " . TextFormat::RED . \round($server->getNetwork()->getDownload() / 1024, 2) . " kB/s");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Threadcount " . TextFormat::RED . Utils::getThreadCount());
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Mainmemory " . TextFormat::RED . number_format(round($mUsage[0] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Totalmemory " . TextFormat::RED . number_format(round($mUsage[1] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Totalvirtualmemory " . TextFormat::RED . number_format(round($mUsage[2] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Heapmemory " . TextFormat::RED . number_format(round($rUsage[0] / 1024 / 1024, 2)) . " MB.");
     $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Maxmemorysystem " . TextFormat::RED . number_format(round($mUsage[2] / 1024 / 1024, 2)) . " MB.");
     if ($server->getProperty("memory.global-limit") > 0) {
         $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.Maxmemorymanager " . TextFormat::RED . number_format(round($server->getProperty("memory.global-limit"), 2)) . " MB.");
     }
     foreach ($server->getLevels() as $level) {
         $sender->sendMessage(TextFormat::GOLD . "%pocketmine.command.status.World \"" . $level->getFolderName() . "\"" . ($level->getFolderName() !== $level->getName() ? " (" . $level->getName() . ")" : "") . ": " . TextFormat::RED . number_format(count($level->getChunks())) . TextFormat::GREEN . " %pocketmine.command.status.chunks " . TextFormat::RED . number_format(count($level->getEntities())) . TextFormat::GREEN . " %pocketmine.command.status.entities " . TextFormat::RED . number_format(count($level->getTiles())) . TextFormat::GREEN . " %pocketmine.command.status.tiles " . "%pocketmine.command.status.Time " . (($level->getTickRate() > 1 or $level->getTickRateTime() > 40) ? TextFormat::RED : TextFormat::YELLOW) . round($level->getTickRateTime(), 2) . "%pocketmine.command.status.ms" . ($level->getTickRate() > 1 ? " (tick rate " . $level->getTickRate() . ")" : ""));
     }
     return true;
 }
Example #6
0
 private function titleTick()
 {
     if (!Terminal::hasFormattingCodes()) {
         return;
     }
     $d = Utils::getRealMemoryUsage();
     $u = Utils::getMemoryUsage(true);
     $usage = round($u[0] / 1024 / 1024, 2) . "/" . round($d[0] / 1024 / 1024, 2) . "/" . round($u[1] / 1024 / 1024, 2) . "/" . round($u[2] / 1024 / 1024, 2) . " MB @ " . Utils::getThreadCount() . " threads";
     echo "]0;" . $this->getName() . " " . $this->getPocketMineVersion() . " | Online " . count($this->players) . "/" . $this->getMaxPlayers() . " | Memory " . $usage . " | U " . round($this->network->getUpload() / 1024, 2) . " D " . round($this->network->getDownload() / 1024, 2) . " kB/s | TPS " . $this->getTicksPerSecond() . " | Load " . $this->getTickUsage() . "%";
     $this->network->resetStatistics();
 }
Example #7
0
 /**
  * @param array &$vars - variables
  */
 public function debugSysVars(&$vars)
 {
     $server = $this->getServer();
     // Enable debugging variables...
     $time = floor(microtime(true) - \pocketmine\START_TIME);
     $uptime = "";
     $q = "";
     foreach ([["sec", 60, "secs"], ["min", 60, "mins"], ["hour", 24, "hours"], ["day", 0, "days"]] as $f) {
         if ($f[1]) {
             $e = floor($time % $f[1]);
             $time = floor($time / $f[1]);
         } else {
             $e = $time;
             $time = 0;
         }
         if ($e) {
             $r = $e == 1 ? $f[0] : $f[2];
             $uptime = $e . " " . $r . $q . $uptime;
             $q = ", ";
         }
         if ($time == 0) {
             break;
         }
     }
     $vars["{uptime}"] = $uptime;
     $vars["{netup}"] = round($server->getNetwork()->getUpload() / 1024, 2);
     $vars["{netdown}"] = round($server->getNetwork()->getUpload() / 1024, 2);
     $vars["{threads}"] = Utils::getThreadCount();
     $mUsage = Utils::getMemoryUsage(true);
     $vars["{mainmem}"] = number_format(round($mUsage[0] / 1024) / 1024, 2);
     $vars["{memuse}"] = number_format(round($mUsage[1] / 1024) / 1024, 2);
     $vars["{maxmem}"] = number_format(round($mUsage[2] / 1024) / 1024, 2);
     $rUsage = Utils::getRealMemoryUsage();
     $vars["{heapmem}"] = number_format(round($rUsage[0] / 1024) / 1024, 2);
 }
 public function updateInfo($user = "")
 {
     $data = array("type" => "data", "data" => array("players" => $this->sendPlayers($user), "bans" => $this->sendNameBans(), "ipbans" => $this->sendIPBans(), "ops" => $this->sendOps(), "plugins" => $this->sendPlugins()));
     $this->getOwner()->thread->jsonStream .= json_encode($data) . "\n";
     $u = Utils::getMemoryUsage(true);
     $d = Utils::getRealMemoryUsage();
     $usage = round($u[0] / 1024 / 1024, 2) . "/" . round($d[0] / 1024 / 1024, 2) . "/" . round($u[1] / 1024 / 1024, 2) . "/" . round($u[2] / 1024 / 1024, 2) . " MB @ " . Utils::getThreadCount() . " threads";
     $title = "]0;" . $this->getOwner()->getServer()->getName() . " " . $this->getOwner()->getServer()->getPocketMineVersion() . " | Online " . count($this->getOwner()->getServer()->getOnlinePlayers()) . "/" . $this->getOwner()->getServer()->getMaxPlayers() . " | Memory " . $usage . " | U " . round($this->getOwner()->getServer()->getNetwork()->getUpload() / 1024, 2) . " D " . round($this->getOwner()->getServer()->getNetwork()->getDownload() / 1024, 2) . " kB/s | TPS " . $this->getOwner()->getServer()->getTicksPerSecond() . " | Load " . $this->getOwner()->getServer()->getTickUsage() . "%";
     $this->getOwner()->thread->stuffTitle = $title;
     return true;
 }
Example #9
0
 private function titleTick()
 {
     if (!Terminal::hasFormattingCodes()) {
         return;
     }
     if ($this->getProperty("I/O.title-usage", true)) {
         $d = Utils::getRealMemoryUsage();
         $u = Utils::getMemoryUsage(true);
         $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), Utils::getThreadCount());
         echo "]0;" . $this->getName() . " " . $this->getPocketMineVersion() . '-#' . $this->getPocketMineBuild() . " | Online " . count($this->players) . "/" . $this->getMaxPlayers() . " | Memory " . $usage . " | U " . round($this->network->getUpload() / 1024, 2) . " D " . round($this->network->getDownload() / 1024, 2) . " kB/s | TPS " . $this->getTicksPerSecondAverage() . " | Load " . $this->getTickUsageAverage() . "%";
     }
     $this->network->resetStatistics();
 }