google-research
50 строк · 1.1 Кб
1import java.awt.*;
2import javax.swing.*;
3
4public class MemoryMonitor implements Debuggable {
5public long freeMemory, totalMemory, maxMemory, memoryUsed;
6public String memString;
7public boolean stop;
8public int iter;
9
10public MemoryMonitor() {
11memString = "";
12stop = false;
13iter = 0;
14Thread thread =
15new Thread() {
16public void run() {
17while (!stop) {
18compute();
19try {
20Thread.sleep(2000);
21} catch (Exception e) {
22}
23}
24}
25};
26thread.start();
27}
28
29public void stop() {
30stop = true;
31}
32
33public void compute() {
34int rr, gg, pmemu, pmemm;
35double fr;
36
37freeMemory = Runtime.getRuntime().freeMemory();
38totalMemory = Runtime.getRuntime().totalMemory();
39maxMemory = Runtime.getRuntime().maxMemory();
40
41memoryUsed = totalMemory - freeMemory;
42
43pmemu = (int) (memoryUsed / (1024 * 1024));
44pmemm = (int) (maxMemory / (1024 * 1024));
45
46fr = (100.0 * (double) pmemu) / (double) pmemm;
47
48memString = "[" + DF0.format(fr) + "% Mem]";
49}
50}
51