浏览代码

修复在Docker中无法获取CPU占用率报错的问题
修复在Docker中无法获取CPU占用率报错的问题

Signed-off-by: 新无止竞 <734913414@qq.com>

新无止竞 3 年之前
父节点
当前提交
fdd022a35c
共有 1 个文件被更改,包括 4 次插入12 次删除
  1. 4 12
      Admin.NET/Admin.NET.Core/Util/ServerUtil.cs

+ 4 - 12
Admin.NET/Admin.NET.Core/Util/ServerUtil.cs

@@ -64,15 +64,6 @@ public class ServerUtil
     {
         if (IsUnix())
         {
-            //var output = ShellUtil.Bash("free -m");
-            //var lines = output.Split("\n");
-            //var memory = lines[1].Split(" ", StringSplitOptions.RemoveEmptyEntries);
-            //return new
-            //{
-            //    Total = double.Parse(memory[1]),
-            //    Used = double.Parse(memory[2]),
-            //    Free = double.Parse(memory[3])
-            //};
             var output = ShellUtil.Bash("cat /proc/meminfo");
             var lines = output.Split("\n");
             return new
@@ -100,24 +91,25 @@ public class ServerUtil
         }
     }
 
+
     /// <summary>
     /// CPU信息
     /// </summary>
     /// <returns></returns>
-    private static string GetCpuRate()
+    public static string GetCpuRate()
     {
         string cpuRate;
         if (IsUnix())
         {
             var output = ShellUtil.Bash("top -b -n1 | grep \"Cpu(s)\" | awk '{print $2 + $4}'");
-            cpuRate = output.Trim();
+            cpuRate = output.Trim() ;
         }
         else
         {
             var output = ShellUtil.Cmd("wmic", "cpu get LoadPercentage");
             cpuRate = output.Replace("LoadPercentage", string.Empty).Trim();
         }
-        return cpuRate;
+        return cpuRate == "" ? "0" : cpuRate;
     }
 
     /// <summary>