getstr88 发表于 2022-6-9 15:59

C# 有提供功能打印自己这个程序当前占用内存大小么?不是在IDE中,而是程序自己打印

C# 有提供功能打印自己这个程序当前占用内存大小么?不是在IDE中,而是程序自己打印

雨轩K 发表于 2022-6-9 16:26

/// <summary>
      /// 获取程序运行内存
      /// </summary>
      /// <param name="rmu_exe">exe名(不带exe)</param>
      /// <returns></returns>
      internal static string GetRam(string rmu_exe)
      {
            try
            {
                Process CurrentProcess = Process.GetProcessesByName(rmu_exe);
                PerformanceCounter pf1 = new PerformanceCounter("Process", "Working Set - Private", CurrentProcess.ProcessName);
                string workingSe = String.Format("{0:F}", pf1.NextValue() / 1024 / 1024);
                return $"{ workingSe }MB";
            }
            catch
            {
                string rmu_mbRam = "0 KB";
                return rmu_mbRam;
            }
      }

获取指定进程的,在获取一下自身的文件名就好了

天下有道 发表于 2022-6-9 16:28

https://jingyan.baidu.com/article/54b6b9c0823f312d593b4772.html ,看看这个是不是你想要的,如果是,以后碰到问题先百度

getstr88 发表于 2022-6-9 17:17

本帖最后由 getstr88 于 2022-6-9 17:19 编辑

天下有道 发表于 2022-6-9 16:28
https://jingyan.baidu.com/article/54b6b9c0823f312d593b4772.html ,看看这个是不是你想要的,如果是,以 ...
。。。显然不是。哪有这么处理啊。我这个本来console程序要跨平台的。linux上,不行吧

getstr88 发表于 2022-6-9 17:27

另外,我没有说清楚,我还想获取某个变量具体占用内存多大。比如 bitmap

天下有道 发表于 2022-6-9 17:27

getstr88 发表于 2022-6-9 17:17
。。。显然不是。哪有这么处理啊。我这个本来console程序要跨平台的。linux上,不行吧

你自己都没表达清楚,要跨平台{:1_925:}

zhangwl0108 发表于 2022-6-9 17:27

getstr88 发表于 2022-6-9 17:17
。。。显然不是。哪有这么处理啊。我这个本来console程序要跨平台的。linux上,不行吧

C# 跨平台?

getstr88 发表于 2022-6-9 17:39

zhangwl0108 发表于 2022-6-9 17:27
C# 跨平台?

。。。。兄弟,你不知道C# 的console程序,在linux、mac上也能用么

田田爱崽崽 发表于 2022-6-9 17:39

zhangwl0108 发表于 2022-6-9 17:27
C# 跨平台?

应该是指.net core之类的吧

getstr88 发表于 2022-6-9 17:45

田田爱崽崽 发表于 2022-6-9 17:39
应该是指.net core之类的吧
.net 6

现在说C# ,不都是指微软的.net 了么,以前还framework、core什么的,现在不是从5.0就统一了么
页: [1] 2
查看完整版本: C# 有提供功能打印自己这个程序当前占用内存大小么?不是在IDE中,而是程序自己打印