查看JVM内存

package cn.dsna.common.java;

import java.lang.Runtime;
/**
 * 查看JVM内存大小
 * @author DSNA
 * @date 2010-04-21
 */
public class JVMMemory {
	public static void main(String args[]) {
		System.out.println(new JVMMemory());
	}

	/**
	 * 已占用内存
	 * 
	 * @return
	 */
	public long totalMemory() {
		long l = Runtime.getRuntime().totalMemory();
		return (l / 1024 / 1024);
	}

	/**
	 * 分配最大内存
	 * 
	 * @return
	 */
	public long maxMemory() {
		long l = Runtime.getRuntime().maxMemory();
		return (l / 1024 / 1024);
	}

	/**
	 * 空余内存
	 * @return
	 */
	public long freeMemory() {
		long l = Runtime.getRuntime().freeMemory();
		return (l / 1024 / 1024);
	}
	
	public String toString(){

		long t = totalMemory();
		long fr = freeMemory();
		long max = maxMemory();
		long rem = t - fr;
		StringBuilder sb=new StringBuilder();
		sb
		.append("最大内存:" + max + " MB\n")
		.append("占用系统内存:" + t + " MB\n")
		.append("实际占用内存:" + rem + " MB\n")
		.append("剩余内存:" + fr + " MB\n");
		return sb.toString();
	}
}

// 改变JVM内存大小的方法
// java -Xms100m -Xmx250 JVMMemory
//eclipse设置jvm arg Run>run config.... (x)- >jvm -arg.......
// -Xmx1024M -Xms512M -XX:MaxPermSize=256m 
引自:http://dsna.iteye.com/blog/648331

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要查看JVM内存使用情况,可以使用以下命令: 1. jps命令:查看Java进程的进程ID 2. jstat命令:查看JVM内存使用情况,包括堆内存、非堆内存、GC情况等 3. jmap命令:生成JVM内存快照,可以用于分析内存泄漏等问题 4. jconsole命令:图形化界面查看JVM内存使用情况,包括堆内存、非堆内存、GC情况等 以上命令都可以在Linux系统下使用。 ### 回答2: 在Linux系统中查看JVM内存使用非常简单,只需要使用命令行工具即可。 首先,我们需要确认JDK已经安装在系统中。在终端中输入下面命令来检查Java版本: java -version 如果Java命令不存在,则需要安装JDK。在Ubuntu系统中,可以使用下面命令来安装OpenJDK: sudo apt-get install openjdk-8-jdk 安装完成后,我们可以在终端中运行下面命令来启动JVM: java -Xms256m -Xmx1024m -jar myapp.jar 该命令可以启动一个Java应用程序,并设置初始堆内存为256M,最大堆内存为1024M。当程序运行时,我们可以使用下面命令来查看JVM内存使用情况: jstat -gc <pid> <interval> <count> 其中,<pid>是JVM进程的进程号,<interval>是采样间隔(以毫秒为单位),<count>是采样次数。 例如,我们可以使用下面命令来查看JVM进程的进程号: ps aux | grep java 然后,使用进程号来查看JVM内存使用情况: jstat -gc <pid> 1000 10 该命令将每秒钟采样一次,共采样10次,然后输出JVM的堆内存使用情况和垃圾回收情况。 除了jstat命令外,我们还可以使用其他工具来查看JVM内存使用情况,例如jmap、jcmd、jstatd等。这些工具的用法和参数不同,请根据需要选择合适的工具。 总之,Linux下查看JVM内存使用情况非常方便,只需要用一些简单的命令就可以完成。这对于调试Java程序和优化JVM性能非常有帮助。 ### 回答3: 在Linux系统中,我们可以使用多种方式来查看Java虚拟机(JVM内存的使用情况,下面介绍几种常用的方法: 1.使用jstat命令 jstat是Java Development Kit(JDK)中自带的一个监控JVM的工具,它能监控JVM内存的使用情况,包括整体内存使用、堆内存使用、非堆内存使用、永久代内存使用等。使用jstat命令,可以获取JVM内存的各项指标,并指导性能调优。以下是查看内存和非堆内存使用情况的命令: - 查看内存使用情况:jstat -gcutil [pid] [间隔时间] [查看次数] - 查看非堆内存使用情况:jstat -gc [pid] [间隔时间] [查看次数] 其中,[pid]是进程ID,[间隔时间]是每隔多少毫秒获取一次内存使用情况,[查看次数]是总共查看的次数。 2.使用jps和jmap命令 jps是JDK中的一个命令,用来列出JVM进程ID,也可以查看JVM进程的启动参数。jmap是JDK中的一个堆转储工具,可以生成JVM堆的转储快照,以及查询JVM内存使用情况。以下是查看JVM内存使用情况的命令: - 查看JVM进程ID:jps - 生成JVM堆快照:jmap -dump:file=[堆快照文件名] [pid] - 查询JVM内存使用情况:jmap -heap [pid] 其中,[pid]是进程ID。 3.使用top命令 top是系统资源监视器,可以通过top命令查看系统中所有进程的CPU、内存等资源使用情况。通过top命令可以查看JVM进程的CPU和内存使用情况。以下是查看JVM进程的内存使用情况的命令: - top -p [pid] 其中,[pid]是进程ID。 通过以上这些方式,我们可以了解JVM内存使用情况,方便我们进行性能调优和资源管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值