2017-10-19 15 views
1

C#에서 프로세스의 '커밋 크기'(Windows 작업 관리자> 세부 정보)를 가져와야합니다.작업 관리자에서 프로세스의 커밋 크기 C#

enter image description here

첫눈에서, Process 클래스는 해당 속성을 제공하지 않습니다. 누군가 나를 도울 수 있습니까?

편집 내 커밋 계산 크기와 작업 관리자에서 '커밋 크기'사이에 차이가 있습니다

private static void ShowCommitSize(string processName) 
    { 
     Process process = Process.GetProcessesByName(processName).FirstOrDefault(); 
     if (process != null) 
     { 
      var pagedMemMb = ConvertBytesToMegabytes(process.PagedMemorySize64); 
      Console.WriteLine(process.ProcessName + "\t" + process.Id + "\t" + Math.Round(pagedMemMb, 3) + " MB"); 
     } 
     Console.ReadLine(); 
    }  

    static double ConvertBytesToMegabytes(long bytes) 
    { 
     return (bytes/1024f)/1024f; 
    } 

출력

. 어떤 아이디어?

enter image description here

해결

private static void ShowCommitSize(string processName) 
    { 
     var process = Process.GetProcessesByName(processName).FirstOrDefault(); 
     if (process != null) 
     { 
      var memKb = ConvertBytesToKilobytes(process.PagedMemorySize64); 
      Console.WriteLine(process.ProcessName + "\t" + process.Id + "\t" + memKb.ToString("N") + " K"); 
     } 
     Console.ReadLine(); 
    }  

    static double ConvertBytesToKilobytes(long bytes) 
    { 
     return (bytes/1024f); 
    } 
+0

[사용 가능한 페이지 파일 크기/가상 메모리] (https://stackoverflow.com/questions/14590162/available-pagefile-size-virtual-memory) 중복 가능 – Martheen

답변

2

이 값은 PagedMemorySize64 속성이다. 이 문서는 "페이지 파일 크기"프로세스 성능 카운터와 here 이상을 Vista/2008의 작업 관리자에서 "커밋 크기"라고합니다 (더 새로운 OS를 가정 할 것임).

+0

감사합니다! 내 질문을 편집하고 PagedMemorySize64 속성을 사용했습니다. 계산 된 커밋 크기와 작업 관리자에 표시된 값 간에는 여전히 차이점이 있습니다. 어떤 아이디어? – BertAR

+0

@BertAR 어떤 차이점을 묻고 있습니까? 124552Kb = 121.6Mb. 0.6 Mb에 대해 묻거나 실수로 kB를 Mb와 비교합니까? 화면 캡처간에 값이 변경 되었습니까? –

+0

신속한 답장을 보내 주셔서 감사합니다. 실제로 나의 회심은 잘못되었다. 좋은 하루 되세요. – BertAR