1 package org.simantics.nativemem;
4 * Architecture-independent version of the Windows PsApi PROCESS_MEMORY_COUNTERS
7 * @author Tuukka Lehtonen
9 public class ProcessMemoryCounters {
10 public int PageFaultCount;
11 public long PeakWorkingSetSize;
12 public long WorkingSetSize;
13 public long QuotaPeakPagedPoolUsage;
14 public long QuotaPagedPoolUsage;
15 public long QuotaPeakNonPagedPoolUsage;
16 public long QuotaNonPagedPoolUsage;
17 public long PagefileUsage;
18 public long PeakPagefileUsage;
19 public long PrivateUsage;
22 public String toString() {
23 return "ProcessMemoryCounters [PageFaultCount="
24 + PageFaultCount + ", PeakWorkingSetSize=" + PeakWorkingSetSize
25 + ", WorkingSetSize=" + WorkingSetSize
26 + ", QuotaPeakPagedPoolUsage=" + QuotaPeakPagedPoolUsage
27 + ", QuotaPagedPoolUsage=" + QuotaPagedPoolUsage
28 + ", QuotaPeakNonPagedPoolUsage=" + QuotaPeakNonPagedPoolUsage
29 + ", QuotaNonPagedPoolUsage=" + QuotaNonPagedPoolUsage
30 + ", PagefileUsage=" + PagefileUsage + ", PeakPagefileUsage="
31 + PeakPagefileUsage + ", PrivateUsage=" + PrivateUsage + "]";
34 public String toHumanReadableString() {
35 StringBuilder sb = new StringBuilder();
36 sb.append("ProcessMemoryCounters [\n\tPageFaultCount = ").append(PageFaultCount)
37 .append(",\n\tPeakWorkingSetSize = ").append(toMb(PeakWorkingSetSize))
38 .append(" MB,\n\tWorkingSetSize = ").append(toMb(WorkingSetSize))
39 .append(" MB,\n\tQuotaPeakPagedPoolUsage = ").append(toMb(QuotaPeakPagedPoolUsage))
40 .append(" MB,\n\tQuotaPagedPoolUsage = ").append(toMb(QuotaPagedPoolUsage))
41 .append(" MB,\n\tQuotaPeakNonPagedPoolUsage = ").append(toMb(QuotaPeakNonPagedPoolUsage))
42 .append(" MB,\n\tQuotaNonPagedPoolUsage = ").append(toMb(QuotaNonPagedPoolUsage))
43 .append(" MB,\n\tPagefileUsage = ").append(toMb(PagefileUsage))
44 .append(" MB,\n\tPeakPagefileUsage = ").append(toMb(PeakPagefileUsage))
45 .append(" MB,\n\tPrivateUsage = ").append(toMb(PrivateUsage))
50 private double toMb(long bytes) {
51 return (double) bytes / 1048576.0;