我对高级 Java 缺乏经验,请多多包涵。
我对 Java 实现可称为“自主”的功能的能力感到好奇。假设我们有两个 Java 程序正在运行。并且一个程序确定另一个程序正在占用内存,因此会终止该程序和/或为 JVM 分配更多内存。
我知道在 Java 中你可以看到可用内存是多少(见 How to do I check CPU and Memory Usage in Java?),但是如果我们想深入挖掘呢?
谢谢。
最佳答案
You Asked:-is it possible to increase the JVM's available memory and/or kill other Java programs?
是的,可以增加
jvm
的堆大小喜欢:java -Xmx512M ClassName //512M = memory you want to increase
杀死一个进程,例如:
taskkill /F /IM <processname>.exe
注意
->但这不是一个好主意,因为堆可能是固定大小的,或者可能会根据垃圾收集器的策略进行扩展。
->打开你的命令提示符类型taskkill/?
了解详情。
3 .并且您可以查看 jvm
当前保留的 total memory 、 free memory 和 max memory
以这种方式。
int MegaBytes = 1024*1024 ;
long freeMemory = Runtime.getRuntime().freeMemory() / MegaBytes;
long totalMemory = Runtime.getRuntime().totalMemory() / MegaBytes;
long maxMemory = Runtime.getRuntime().maxMemory() / MegaBytes;
System.out.println("Memory used by JVM: " + (maxMemory - freeMemory));
System.out.println("freeMemory in JVM: " + freeMemory);
System.out.println("totalMemory in JVM : " + totalMemory);
System.out.println("maxMemory in JVM: " + maxMemory);
更多信息please check here .
关于java - 在 Java 中,是否可以增加 JVM 的可用内存和/或杀死其他 Java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204757/