2005-08-31
Eclipse状态栏显示JVM内存使用情况的改进
昨天看了t的Post,照着攻略了一次,居然费了九牛二虎之力才把搞定,真是越来越丢人了。看来这玩意儿真是让俺水土不服,不掰闲话了,言归正传。
打开记事本,输入以下内容org.eclipse.ui/perf/showHeapStatus=true,然后保存于eclipse根目录下,文件名为options,没有文件扩展名。
Robert说的:
用-debug options -vm javaw.exe这条命令启动eclipse。
俺用了没有成功,看来Eclipse的官方文档后,俺想到了这是jre的路径问题。因为估计没有像俺这样每个用jre的程序都是用一个单独的jre,而系统中没有jre。原因了嘛,不是俺YY,是有些程序和有些程序的插件要求的jre是特定的版本,没办法哦:(
在eclipse的目录下有个eclipse.ini的文件,按官方文档上的说明是对eclipse的参数启动可以在eclipse.ini文件中直接定义,这样-debug options -vm javaw.exe这条命令放到eclipse.ini中也应该是可以的。
俺最先就是直接粘贴过来,内容为-vmargs -Xms64m -Xmx256m -debug options -vm javaw.exe,提示没有找到JVM。想了又想,应该是-vm javaw.exe的原因,-vm javaw.exe应该为系统JVM的路径,而俺用的是eclipse\jre的JVM,正确的命令应该是-vm .\jre\bin\javaw.exe才对。
把文件eclipse.ini的内容改成了-debug options -vmargs -Xms64m -Xmx256m -vm javaw.exe,这次看见了ecplise的splash,自己还窃喜了一番,等了一分钟不到,没有看见传说中的状态栏会显示当前jvm内存使用量,看来还是出问题了。
原因可能出在俺在改动的时候把eclipse.ini的文件内容格式给改了,就是原来在-vmargs、-Xms64m、-Xmx256m后面都一个小黑块,改成-debug#options#-vm#javaw.exe#-vmargs#-Xms64m#-Xmx256m,#字符要用原来的小黑块代替,启动的时候又开始报错了。
看了官方文档说
“将 -vmargs 条目后面的所有自变量(但不包括 -vmargs)作为虚拟机自变量(即,在要运行的类的前面)直接传递到所指示的 Java VM。注意:如果 Eclipse 启动在 Java vm 自变量(-vmargs)之后提供的自变量(例如,-data),则 Eclipse 将不会启动并且您将接收到"JVM 已终止。出口代码为 1"的错误。”
原来命令的顺序错了,现在改成-debug#options#-vm#javaw.exe#-vmargs#-Xms64m#-Xmx256m,#字符要用原来的小黑块代替。eclipse启动成功,看见状态栏会显示当前jvm内存使用量。
截图如下:第一张为jre在Ecplise目录下的eclipse.ini的截图,第二张为采用系统JVM的截图,第三张为运行eclipse时候信息栏显示jvm状况的截图。
特别是对eclipse.ini的修改一定要使用专业的Editor工具,不然就得自己相当注意其中的一些特殊的字符,修改之前做好备份更是必不可少的。
PS:
1.感写Eclipse和Robert。
2.所以操作在jre-1_5_0_04和Eclipse3.1下测试成功。
3.参数 -vmargs -Xms64m -Xmx256m为俺自己设定的,eclipse默认的设定为 -vmargs -Xms40m -Xmx256m。
Submitted by on 八月 29, 2005 - 19:05.
让你的Eclipse也能显示JVM当前内存使用量:
1、在Eclipse根目录下建立一个文件,文件名options,文件内容org.eclipse.ui/perf/showHeapStatus=true
2、用这条命令启动Eclipse:
E:\eclipse3.1\eclipse.exe -debug options -vm javaw.exe
或者直接右键Eclipse的快捷方式,在"目标"中填入这行。
3、启动Eclipse,就可以看到下面的状态栏会显示当前JVM内存使用量,另外还可以强制进行垃圾收集。