java - JVM 堆内存分配
问题描述
我对 JVM 内存分配和从操作系统看到的内存使用情况有点困惑
有人告诉我,当达到 Java 堆限制时,内部 JVM 垃圾收集进程将释放分配的堆内的内存以供重用,但它不会向操作系统释放内存。
所以我的服务器有一个 32GB 的 RAM,并且有一个运行“-Xmx8192m”的 Java(我使用 ps 命令检查)
理论上,如果那个Java程序是系统上运行的唯一进程......当我从操作系统监控内存使用时,它至少可以达到8G / 32G = 25%,一旦到达那里,内存就会不再低于25%??
Java进程也定义了“-Xms8192m”。这是否意味着,一开始,内存使用量将立即达到 25%?
因为,据我观察,内存使用量仍然从一个相对较小的值开始,例如:3%,然后逐渐增加。
希望有人能解开我的疑惑。欢迎任何意见。谢谢。
解决方案
推荐阅读
- r - 求解函数以何种方式使用两个矩阵推导系数估计?
- ios - iOS 13 上 Segment Control 的 SelectedTintColor 不是圆角
- r - 将 T/F 的向量添加到 R 中的向量列表中
- php - 我想在 laravel 5.8 中提交两个表单
- c# - 反序列化 Json、Xamarin 表单
- c# - 从 json post 请求接收 mvc5 控制器中的值
- python - 如何找到我的表之间的正确关系?
- java - 如何拦截 Axis/Apache SOAP 请求,我可以使用 Log4J 吗?
- swift - 如何在每个数组元素数组中附加字符串
- openbravo - Openbravo 数据包为空