`

Eclipse状态栏显示JVM内存使用情况的改进

阅读更多
昨天看了Robert的Post《在eclipse中显示jvm当前内存使用量》,照着攻略了一次,居然费了九牛二虎之力才把eclipse搞定,真是越来越丢人了。看来Java这玩意儿真是让俺水土不服,不掰闲话了,言归正传。

打开记事本,输入以下内容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

eclipse

eclipse

特别是对eclipse.ini的修改一定要使用专业的Editor工具,不然就得自己相当注意其中的一些特殊的字符,修改之前做好备份更是必不可少的。

PS:
1.感写Eclipse和Robert。
2.所以操作在jre-1_5_0_04Eclipse3.1下测试成功。
3.参数 -vmargs -Xms64m -Xmx256m为俺自己设定的,eclipse默认的设定为 -vmargs -Xms40m -Xmx256m。 

分享到:
评论

相关推荐

    在Eclipse状态栏上增加JVM内存用量指示器

    NULL 博文链接:https://dolphin-ygj.iteye.com/blog/366152

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例213 监视JVM内存状态 268 实例214 启动默认文本工具 269 实例215 简单的截图软件 270 第10章 Commons组件 272 10.1 Commons Lang组件简介 273 实例216 数组元素的增加 273 实例217 数组元素的删除 274 实例218 ...

    新版Android开发教程.rar

    � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要快很多。 � 运营商(中国移动等)的大力支持,产业链条的热捧。 � 良好的盈利模式( 3/7 开),产业链条的各方:运营商、...

    《MyEclipse 6 Java 开发中文教程》前10章

    3.1.6 状态栏(Status Bar) 55 3.1.7 编辑器(Editor) 55 3.2 常见概念和操作 56 3.2.1 项目(Project) 56 3.2.2工作区(Workspace) 56 3.2.3 导入、导出Java项目 56 3.2.3.1 导入项目 56 3.2.3.2 导出项目 57 3.2.4...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

Global site tag (gtag.js) - Google Analytics