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

简介: 2005-08-31-Eclipse状态栏显示JVM内存使用情况的改进 2005-08-31 Eclipse状态栏显示JVM内存使用情况的改进 昨天看了Robert的Post《在eclipse中显示jvm当前内存使用量》,照着攻略了一次,居然费了九牛二虎之力才把eclipse搞定,真是越来越丢人了。

2005-08-31

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当前内存使用量

让你的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内存使用量,另外还可以强制进行垃圾收集。

目录
相关文章
|
10月前
|
Arthas 存储 算法
深入理解JVM,包含字节码文件,内存结构,垃圾回收,类的声明周期,类加载器
JVM全称是Java Virtual Machine-Java虚拟机JVM作用:本质上是一个运行在计算机上的程序,职责是运行Java字节码文件,编译为机器码交由计算机运行类的生命周期概述:类的生命周期描述了一个类加载,使用,卸载的整个过类的生命周期阶段:类的声明周期主要分为五个阶段:加载->连接->初始化->使用->卸载,其中连接中分为三个小阶段验证->准备->解析类加载器的定义:JVM提供类加载器给Java程序去获取类和接口字节码数据类加载器的作用:类加载器接受字节码文件。
886 55
|
5月前
|
存储 缓存 Java
我们来说一说 JVM 的内存模型
我是小假 期待与你的下一次相遇 ~
426 5
|
11月前
|
Arthas 监控 Java
Arthas memory(查看 JVM 内存信息)
Arthas memory(查看 JVM 内存信息)
855 6
|
5月前
|
存储 缓存 算法
深入理解JVM《JVM内存区域详解 - 世界的基石》
Java代码从编译到执行需经javac编译为.class字节码,再由JVM加载运行。JVM内存分为线程私有(程序计数器、虚拟机栈、本地方法栈)和线程共享(堆、方法区)区域,其中堆是GC主战场,方法区在JDK 8+演变为使用本地内存的元空间,直接内存则用于提升NIO性能,但可能引发OOM。
|
存储 设计模式 监控
快速定位并优化CPU 与 JVM 内存性能瓶颈
本文介绍了 Java 应用常见的 CPU & JVM 内存热点原因及优化思路。
1216 166
|
存储 缓存 算法
JVM简介—1.Java内存区域
本文详细介绍了Java虚拟机运行时数据区的各个方面,包括其定义、类型(如程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区和直接内存)及其作用。文中还探讨了各版本内存区域的变化、直接内存的使用、从线程角度分析Java内存区域、堆与栈的区别、对象创建步骤、对象内存布局及访问定位,并通过实例说明了常见内存溢出问题的原因和表现形式。这些内容帮助开发者深入理解Java内存管理机制,优化应用程序性能并解决潜在的内存问题。
648 29
JVM简介—1.Java内存区域
|
缓存 监控 算法
JVM简介—2.垃圾回收器和内存分配策略
本文介绍了Java垃圾回收机制的多个方面,包括垃圾回收概述、对象存活判断、引用类型介绍、垃圾收集算法、垃圾收集器设计、具体垃圾回收器详情、Stop The World现象、内存分配与回收策略、新生代配置演示、内存泄漏和溢出问题以及JDK提供的相关工具。
JVM简介—2.垃圾回收器和内存分配策略
|
存储 算法 Java
JVM: 内存、类与垃圾
分代收集算法将内存分为新生代和老年代,分别使用不同的垃圾回收算法。新生代对象使用复制算法,老年代对象使用标记-清除或标记-整理算法。
203 6
|
存储 设计模式 监控
如何快速定位并优化CPU 与 JVM 内存性能瓶颈?
如何快速定位并优化CPU 与 JVM 内存性能瓶颈?
333 0
如何快速定位并优化CPU 与 JVM 内存性能瓶颈?
|
存储 Java 程序员
【JVM】——JVM运行机制、类加载机制、内存划分
JVM运行机制,堆栈,程序计数器,元数据区,JVM加载机制,双亲委派模型
399 10