ServerStatsMemoryCommand class

Пакет: com.hypixel.hytale.server.core.command.commands.debug.server

Файл: com/hypixel/hytale/server/core/command/commands/debug/server/ServerStatsMemoryCommand.java

extends: CommandBase

Поля (1)

МодификаторыТипИмя
MemoryMXBean var4

Методы (1)

МодификаторыВозвратСигнатура
abstract super super("memory", "server.commands.server.stats.memory.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.debug.server;

class="kw">import com.hypixel.hytale.common.util.FormatUtil;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import com.sun.management.OperatingSystemMXBean;
class="kw">import java.lang.management.ManagementFactory;
class="kw">import java.lang.management.MemoryMXBean;
class="kw">import java.lang.management.MemoryUsage;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ServerStatsMemoryCommand class="kw">extends CommandBase {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_SERVER_STATS_FULL_INFO_UNAVAILABLE = Message.translation("server.commands.server.stats.fullInfoUnavailable");

   class="kw">public ServerStatsMemoryCommand() {
      super("memory", "server.commands.server.stats.memory.desc");
      this.addAliases("mem");
   }

   @Override
   class="kw">protected void executeSync(@Nonnull CommandContext var1) {
      if (ManagementFactory.getOperatingSystemMXBean() class="kw">instanceof OperatingSystemMXBean var3) {
         var1.sendMessage(
            Message.translation("server.commands.server.stats.memory.fullUsageInfo")
               .param("totalPhysicalMemory", FormatUtil.bytesToString(var3.getTotalPhysicalMemorySize()))
               .param("freePhysicalMemory", FormatUtil.bytesToString(var3.getFreePhysicalMemorySize()))
               .param("totalSwapMemory", FormatUtil.bytesToString(var3.getTotalSwapSpaceSize()))
               .param("freeSwapMemory", FormatUtil.bytesToString(var3.getFreeSwapSpaceSize()))
         );
      } else {
         var1.sendMessage(MESSAGE_COMMANDS_SERVER_STATS_FULL_INFO_UNAVAILABLE);
      }

      MemoryMXBean var4 = ManagementFactory.getMemoryMXBean();
      var1.sendMessage(
         Message.translation("server.commands.server.stats.memory.usageInfo")
            .param("heapMemoryUsage", formatMemoryUsage(var4.getHeapMemoryUsage()))
            .param("nonHeapMemoryUsage", formatMemoryUsage(var4.getNonHeapMemoryUsage()))
            .param("objectsPendingFinalizationCount", var4.getObjectPendingFinalizationCount())
      );
   }

   @Nonnull
   class="kw">private class="kw">static Message formatMemoryUsage(@Nonnull MemoryUsage var0) {
      class="kw">return Message.translation("server.commands.server.stats.memory.usage")
         .param("init", FormatUtil.bytesToString(var0.getInit()))
         .param("used", FormatUtil.bytesToString(var0.getUsed()))
         .param("committed", FormatUtil.bytesToString(var0.getCommitted()))
         .param("max", FormatUtil.bytesToString(var0.getMax()))
         .param("free", FormatUtil.bytesToString(var0.getMax() - var0.getCommitted()));
   }
}