如何解决获取另一个进程的实际使用的内存
我想从Chrome浏览器中读取RAM的使用情况。
但是以下内容将返回完全错误的值:
Private Sub Button5_Click(sender As Object,e As EventArgs) Handles Button5.Click
Dim ramNeeded As Long
Dim virtualRamNeeded As Long
For Each p As Process In Process.GetProcessesByName("chrome")
ramNeeded = ramNeeded + p.WorkingSet64
virtualRamNeeded = virtualRamNeeded + p.VirtualMemorySize64
Next
MsgBox(FormatBytes(virtualRamNeeded) & " " & FormatBytes(ramNeeded))
End Sub
Public Function FormatBytes(ByVal BytesCaller As ULong) As String
Dim DoubleBytes As Double
Try
Select Case BytesCaller
Case Is >= 1099511627776
DoubleBytes = CDbl(BytesCaller / 1099511627776) 'TB
Return FormatNumber(DoubleBytes,2) / 2 & " TB"
Case 1073741824 To 1099511627775
DoubleBytes = CDbl(BytesCaller / 1073741824) 'GB
Return FormatNumber(DoubleBytes,2) / 2 & " GB"
Case 1048576 To 1073741823
DoubleBytes = CDbl(BytesCaller / 1048576) 'MB
Return FormatNumber(DoubleBytes,2) / 2 & " MB"
Case 1024 To 1048575
DoubleBytes = CDbl(BytesCaller / 1024) 'KB
Return FormatNumber(DoubleBytes,2) / 2 & " KB"
Case 0 To 1023
DoubleBytes = BytesCaller ' bytes
Return FormatNumber(DoubleBytes,2) & " bytes"
Case Else
Return DoubleBytes
End Select
Catch
Return ""
End Try
End Function
在taskmanager中,我有140MB,但是从我的函数中,我有180MB。有谁知道怎么了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。