社区
C#
帖子详情
求教:获取当前程序“内存使用”和“虚拟内存大小”
gijquery4
2013-05-05 02:46:58
在下新人,求教各位,谢谢:)
Windows任务管理中的“内存使用”和“虚拟内存大小”应该用Process类的什么属性来获取呀?
Process类关于内存相关的属性有好几个,用C#去获取怎么都和任务管理器上的数值不一样(已经将字节转换了)
还请各位帮忙解决,谢谢
...全文
362
5
打赏
收藏
求教:获取当前程序“内存使用”和“虚拟内存大小”
在下新人,求教各位,谢谢:) Windows任务管理中的“内存使用”和“虚拟内存大小”应该用Process类的什么属性来获取呀? Process类关于内存相关的属性有好几个,用C#去获取怎么都和任务管理器上的数值不一样(已经将字节转换了) 还请各位帮忙解决,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oYanSiDeYu123456
2013-05-07
打赏
举报
回复
/// <summary> 2 /// 内存 3 /// </summary> 4 public class VAV_MDDFM_MEM 5 { 6 //定义内存的信息结构 7 [StructLayout(LayoutKind.Sequential)] 8 public struct MEMORY_INFO 9 { 10 public uint dwLength; 11 public uint dwMemoryLoad; 12 public uint dwTotalPhys; 13 public uint dwAvailPhys; 14 public uint dwTotalPageFile; 15 public uint dwAvailPageFile; 16 public uint dwTotalVirtual; 17 public uint dwAvailVirtual; 18 } 19 [DllImport("kernel32")] 20 private static extern void GetWindowsDirectory(StringBuilder WinDir, int count); 21 [DllImport("kernel32")] 22 private static extern void GetSystemDirectory(StringBuilder SysDir, int count); 23 [DllImport("kernel32")] 24 private static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo); 25 26 /// <summary> 27 /// 打印内存信息 28 /// </summary> 29 public static void PrintMemInfo() 30 { 31 Console.WriteLine(GetMemInfo()); 32 } 33 34 /// <summary> 35 /// 获取内存信息 36 /// </summary> 37 /// <returns></returns> 38 public static string GetMemInfo() 39 { 40 //调用GlobalMemoryStatus函数获取内存的相关信息 41 MEMORY_INFO MemInfo = new MEMORY_INFO(); 42 GlobalMemoryStatus(ref MemInfo); 43 44 StringBuilder sb = new StringBuilder(); 45 46 //*%的内存正在使用 47 sb.Append(MemInfo.dwMemoryLoad.ToString() + "% of the memory is being used " + "\r\n"); 48 //总共的物理内存 49 sb.Append("Physical memory total :" + Utility.ConvertBytes(MemInfo.dwTotalPhys.ToString(), 3) + "GB" + "\r\n"); 50 //可使用的物理内存 51 sb.Append("Use of physical memory :" + Utility.ConvertBytes(MemInfo.dwAvailPhys.ToString(), 3) + "GB" + "\r\n"); 52 //交换文件总大小 53 sb.Append("Total size of the swap file" + Utility.ConvertBytes(MemInfo.dwTotalPageFile.ToString(), 3) + "GB" + "\r\n"); 54 //尚可交换文件大小为 55 sb.Append(" Can still swap file size :" + Utility.ConvertBytes(MemInfo.dwAvailPageFile.ToString(), 3) + "GB" + "\r\n"); 56 //总虚拟内存 57 sb.Append("The Total virtual memory :" + Utility.ConvertBytes(MemInfo.dwTotalVirtual.ToString(), 3) + "GB" + "\r\n"); 58 //未用虚拟内存有 59 sb.Append("Unused virtual memory :" + Utility.ConvertBytes(MemInfo.dwAvailVirtual.ToString(), 3) + "GB" + "\r\n"); 60 // ConvertBytes(totMem, 3) + " GB" 61 return sb.ToString(); 62 } 63 } 1 public class Utility 2 { 3 public static decimal ConvertBytes(string b, int iteration) 4 { 5 long iter = 1; 6 for (int i = 0; i < iteration; i++) 7 iter *= 1024; 8 return Math.Round((Convert.ToDecimal(b)) / Convert.ToDecimal(iter), 2, MidpointRounding.AwayFromZero); 9 } 10 }
gijquery4
2013-05-06
打赏
举报
回复
引用 2 楼 sp1234 的回复:
哦,这不是“当前程序的”。你用.net看到的进程数据差多少?
没有什么规律
gijquery4
2013-05-05
打赏
举报
回复
求帮助哦~~~~!
以专业开发人员为伍
2013-05-05
打赏
举报
回复
哦,这不是“当前程序的”。你用.net看到的进程数据差多少?
以专业开发人员为伍
2013-05-05
打赏
举报
回复
http://msdn.microsoft.com/zh-cn/library/microsoft.visualbasic.devices.computerinfo(v=vs.100).aspx
数据处理救星降世Power Query
0/ Excel数据处理新利器来了,准备好了吗?1/ 比网红函数VLOOKUP还全面的功能。——查(查询)2/ 取其精华,去其糟粕。——筛(筛选)3/ 拆分就像同学会,拆散一对是一对。——拆(拆分)4/ 天下大势,合久必分,分久必合。——合(合并)5/ 隔空取物,犹如探囊取物——提(提取)6/ 百转千回后的峰回路转。——转(转换)7/ 它判断真假的唯一标准。——判(判断)8/ 人以群分,物以类聚。——聚(聚合)9/ 我自己的难题自己造函数,不
求教
别人。——技法(自定义函数)
linux下
内存
的统计和
内存
泄露类问题的定位
在产品的开发中,通过对
当前
系统消耗
内存
总量的统计,可以对产品所需
内存
总量进行精确的评估,从而选择合适的
内存
芯片与
大小
,降低产品的成本。在遇到
内存
泄露类问题时,经常会对此束手无策,本文通过对proc下进程相关的文件进行分析,精确评估系统消耗
内存
的
大小
,还可以对
内存
泄露类问题的解决提供一种定位手段。 Linux在
内存
使用
上的原则是:如果
内存
充足,不用白不用,尽量
使用
内存
来缓存
java allocatememory_
求教
java中的unsafe.allocateMemory 会导致
内存
申请失败吗
展开全部一:Java
内存
区域与
内存
溢出异常在运行e69da5e6ba903231313335323631343130323136353331333337373566Java
程序
时,Java虚拟机会把管理的
内存
划分为若干个不同的数据区域。Java虚拟机运行时数据区数据区域图中,除了方法区和堆区是线程共享区外,其他三个是线程隔离的数据区(private)
程序
计数器(Program Counter Re...
内存
占用分析
http://www.cnblogs.com/bravery/archive/2012/06/27/2560611.html 概述 想必在linux上写过
程序
的同学都有分析进程占用多少
内存
的经历,或者被问到这样的问题——你的
程序
在运行时占用了多少
内存
(物理
内存
)?通常我们可以通过top命令查看进程占用了多少
内存
。这里我们可以看到VIRT、RES和SHR三个重
2021 Java面试真题集锦
目录 … 1 大厂面试的基本流程 17 字节跳动 17 阿里 17 腾讯 18 网易游戏 18 面试前需要准备: 18 面试中可以借鉴的套路 19 用简历争取到更多的面试机会 19 自我介绍时,立即全面抛出技术栈和亮点 20 先介绍项目背景,打消面试官疑问 21 通过说项目管理工具,说明你不仅会写代码 22 用 SPRING BOOT 项目举例,说明你的技术基本面 23 用实例说明你在
内存
调优方面的经验 24 展示你在数据库调优方面的经验 25 总结前文说辞 26 准备项目说辞时,更可以准备后继面试官的问
C#
110,535
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章