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