以兆字节为单位获取进程内存使用情况
Getting process ram usage in megabytes
我正在尝试检索我的控制台应用程序的 ram 使用情况,为此我正在使用:
var ramUsage = Process.GetCurrentProcess().WorkingSet64;
然而,WorkingSet64
返回的值确实很大,我假设这些是 kbs,但我不是 100% 确定我是否需要将数字除以 1024 以获得兆字节,或者我需要除以 1024*1024?
任何人都可以阐明 Process.WorkingSet64
返回的值到底是什么。
根据the documentation,此属性返回的数字以字节为单位。
因此,要将其转换为千字节,需要除以 1024。要将其转换为兆字节,需要除以 10242。等等。
Process.WorkingSet64
属性 以字节为单位返回。
根据关于 属性:
的 MSDN 文章
Property Value
Type: System.Int64
The amount of physical memory, in bytes, allocated for the associated process.
https://msdn.microsoft.com/en-us/library/system.diagnostics.process.workingset64%28v=vs.110%29.aspx
在 Windows 中,为了获得以兆字节为单位的值,你是正确的,因为你除以 1024 * 1024
var ramAllocation = Process.GetCurrentProcess().WorkingSet64;
var allocationInMB = ramUsage / (1024 * 1024);
旁注:Windows 使用 JEDEC 标准,其中 1 KB = 1024 字节。 IEC 标准定义 1 KB = 1000 字节和 1 KB = 1024 字节。 OS10.6 之后的 X 使用 ICE 兆字节,因此 1 KB = 1000 字节。一些 Linux 发行版,例如 10.10 之后的 Ubuntu,使用 ICE 前缀(1 兆字节 = 1024 千字节,1 兆字节 = 1000 千字节)。这就是为什么有时当您购买 HDD 时,它看起来 Windows (1MB = 1024kB) 小于广告大小(通常 1MB = 1000kB)。
此外,Cody Gray 指出这是 分配的 字节数,而不是 使用的 字节数。 OS分配的内存比程序使用的确切字节数多,一般不要在内存不用后立即回收。
我正在尝试检索我的控制台应用程序的 ram 使用情况,为此我正在使用:
var ramUsage = Process.GetCurrentProcess().WorkingSet64;
然而,WorkingSet64
返回的值确实很大,我假设这些是 kbs,但我不是 100% 确定我是否需要将数字除以 1024 以获得兆字节,或者我需要除以 1024*1024?
任何人都可以阐明 Process.WorkingSet64
返回的值到底是什么。
根据the documentation,此属性返回的数字以字节为单位。
因此,要将其转换为千字节,需要除以 1024。要将其转换为兆字节,需要除以 10242。等等。
Process.WorkingSet64
属性 以字节为单位返回。
根据关于 属性:
Property Value Type: System.Int64
The amount of physical memory, in bytes, allocated for the associated process.
https://msdn.microsoft.com/en-us/library/system.diagnostics.process.workingset64%28v=vs.110%29.aspx
在 Windows 中,为了获得以兆字节为单位的值,你是正确的,因为你除以 1024 * 1024
var ramAllocation = Process.GetCurrentProcess().WorkingSet64;
var allocationInMB = ramUsage / (1024 * 1024);
旁注:Windows 使用 JEDEC 标准,其中 1 KB = 1024 字节。 IEC 标准定义 1 KB = 1000 字节和 1 KB = 1024 字节。 OS10.6 之后的 X 使用 ICE 兆字节,因此 1 KB = 1000 字节。一些 Linux 发行版,例如 10.10 之后的 Ubuntu,使用 ICE 前缀(1 兆字节 = 1024 千字节,1 兆字节 = 1000 千字节)。这就是为什么有时当您购买 HDD 时,它看起来 Windows (1MB = 1024kB) 小于广告大小(通常 1MB = 1000kB)。
此外,Cody Gray 指出这是 分配的 字节数,而不是 使用的 字节数。 OS分配的内存比程序使用的确切字节数多,一般不要在内存不用后立即回收。