【发布时间】:2019-08-28 16:16:57
【问题描述】:
我正在使用我的 IDE (IntelliJ) 运行我的 Java Web 应用程序并执行大量操作,该操作现在已经运行了大约 5 个小时左右。它包括大量的数据库插入,大量的对象创建,我想这也是 CPU 密集型的,而且它在网络上一点也不繁重。
在我的任务管理器(windows)中的当前外观给了我这些数字:
- CPU:35%
- 内存:49%
- IO:1%
- 网络:0%
- GPU:5%
进程的使用,是...
...按 CPU 使用率排序如下:
- “PostreSQL 服务器”
- “IntelliJ IDEA (9)”
- “谷歌浏览器 (16)”
...按内存消耗排序:
- “IntelliJ IDEA (9)”
- “谷歌浏览器(16)”
- “OpenJDK 平台二进制”
我的主观感觉肯定是,我的电脑很辛苦,我听到风扇不停地转动,而且在窗口之间切换时我看到延迟。
但是,我想知道,为什么我的任务管理器没有显示我的计算机正在充分利用其中一种资源?
我猜这意味着,我的应用程序已经在使用最大可用内存(受 JVM 堆大小限制)?我没有明确指定这一点,并运行
java -XX:+PrintFlagsFinal -version | findstr HeapSize
为我提供这些默认值:
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 268435456 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 4271898624 {product}
openjdk version "1.8.0_202"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_202-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.202-b08, mixed mode)
我的机器上有 16 GB 物理 RAM,您是否建议我按照此处所述为 xms 和 xmx 设置显式值? How can I increase the JVM memory?
【问题讨论】: