死磕内存篇 --- JAVA进程和linux内存间的大小关系

本文通过实验探讨JAVA进程内存(包括-Xmx、-Xms参数影响)与Linux内存(VIRT、RES、SHR)之间的关系,分析JAVA程序实际使用内存组成,包括JVM内存、堆内存、永久代、本地方法栈、线程栈、堆外内存和socket缓冲区,并解释内存占用的变化情况及其对JAVA进程大小的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行个JAVA 用sleep去hold住

 
package org.hjb.test; 

public class TestOnly { 
public static void main(String[] args) { 

System.out.println("sleep .."); 
try { 
Thread.sleep(10000000); 
} catch (InterruptedException e) { 
e.printStackTrace(); 
} 
} 
}

 

java -Xmx10m -Xms10m org/hjb/test/TestOnly

从Jvm进程的角度观察

查看JAVA进程的总体内存大小

原始参数         java -Xmx10m -Xms10m org/hjb/test/TestOnly   后观察结果:

 PID    USER  PR   NI      VIRT         RES       SHR    S    %CPU  %MEM     TIME+  COMMAND 
27182  root   20    0      1182152      40452     13596  S     0.0   1.0     :00.27   java 

变换参数          java -Xmx1024m -Xms1024m org/hjb/test/TestOnly   后观察

1

27278   root   20  0     2258424      31656  

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值