Java Sigar API (http://support.hyperic.com/display/SIGAR/Home)를 다운로드했으며이를 사용하여 실행중인 다른 프로세스에 대한 메모리 사용 정보를 얻고 싶습니다. , Windows 리소스 모니터에서 찾고, 그러나Windows 자원 모니터와 일치하지 않는 Java Sigar보고 메모리 사용량
{PageFaults=3017940, Size=4125868032, Resident=608493568}
를이 코드 출력을 실행
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
import org.hyperic.sigar.ptql.ProcessFinder;
public class SigarTest {
public static void main(String[] args) throws SigarException {
Sigar sigar = new Sigar();
ProcessFinder find = new ProcessFinder(sigar);
long pid = find.findSingleProcess("Exe.Name.ct=eclipse.exe");
System.out.println(sigar.getProcMem(pid));
}
}
:
나는 eclipse.exe라는의 메모리 사용량을보고 다음 테스트 케이스를 작성했습니다 eclipse.exe에 대한 다음 통계를 표시합니다 :
Commit (KB): 689,356
Working Set (KB): 594,028
Shareable (KB): 47,332
Private (KB): 546,696
다음 스크린 샷보기 : SIGAR에 의해보고
4.1GB의 메모리 사용량은 리소스 모니터에 의해보고 된 메모리 통계의 꿈에도 생각하지 않습니다.
왜 이렇게 멀리 떨어져 있습니까?
질문에 대한 답변 왜 누군가가 투표를했는지 모르겠다. –