相关疑难解决方法(0)

在ubuntu上限制jvm进程内存

我知道有同样的问题,像这样一个被提问和回答.我对答案不满意,所以让我在这里详细介绍一下这些消息.

我尝试使用JVM OPT启动我的应用程序:-Xmx128m -Xms32m -XX:MaxPermSize=64m.当应用程序启动时我通过键入检查内存使用情况cat /proc/10413/status,我发现vmsize超过600512 kB!这比我的设置大.我想知道如何限制进程的jvm内存使用.

Name:   java
State:  S (sleeping)
Tgid:   10413
Pid:    10413
PPid:   1
TracerPid:      0
Uid:    1001    1001    1001    1001
Gid:    1007    1007    1007    1007
FDSize: 128
Groups: 1001 1007
**VmPeak:   728472 kB**
**VmSize:   600512 kB**
VmLck:         0 kB
VmHWM:    298300 kB
VmRSS:    280912 kB
VmData:   647804 kB
VmStk:       140 kB
VmExe:        36 kB
VmLib:     13404 kB
VmPTE:       808 kB
VmSwap:        0 kB
Threads:        33
SigQ:   0/31522
SigPnd: 0000000000000000 …
Run Code Online (Sandbox Code Playgroud)

java linux memory jvm

11
推荐指数
1
解决办法
7417
查看次数

JVM进程大小和内存堆大小之间的巨大差异

我正在Windows 8.1 64bit上开发java swing应用程序,带有4GB RAM,JDK版本为8u20 64bit.

问题是当我使用带有Monitor选项的Netbeans Profiler启动应用程序时.

加载第一个Jframe时,应用程序内存堆约为18mb,JVM进程大小约为50mb(image1).

然后当我启动包含带有webView的JFxPanel的其他Jframe时,Heap跳转到45mb并且JVM 进程非常快地跳到700mb(image2),这非常令人困惑.然后,当我关闭第二个JFrame并且它被释放并调用System.gc()并且JVM执行GC(在大多数情况下)时,堆降低到大约20mb,但JVM进程从不丢弃(image3).

为什么内存堆(45 Mb)和JVM进程(699 Mb)之间存在巨大差异?为什么JVM需要所有内存?以及如何减少这个数额?我正在使用这些vm选项启动应用程序:

-Xms10m  -Xmx60m -Xss192k
-XX:+UseG1GC -XX:MinHeapFreeRatio=5
-XX:MaxHeapFreeRatio=10  -XX:PermSize=20m
-XX:MaxPermSize=32m  
Run Code Online (Sandbox Code Playgroud)

编辑: -我刚刚读到该链接JVM内存使用失控的问题,他有同样的问题,但情况不同他的堆大小是JVM进程内存总大小的33%,在我的情况下小于7 %,他同时做多个工作(Tomcat webapp),我没有(java swing应用程序),他没有使用我所做的相同VM参数启动他的应用程序.

更新: - 在第一个JFrame启动后(image1)

第一个JFrame推出

第二个JFrame启动后(image2)

第二个JFrame发布

第二个JFrame关闭后(image3)

第二个JFrame关闭

编辑2: - 我刚刚使用上面相同的VM参数尝试了相同的应用程序并添加了

-client 
-XX:+UseCompressedOops 
Run Code Online (Sandbox Code Playgroud)

并且使用了JDK 8u25 32位,因为如本答案/sf/answers/1083005381/中所述,64位版本不包含JRE中的客户端文件夹,并将忽略-client参数.

结果是当第二个JFrame打开时,总内存进程跳转到540Mb,并且堆大小(在三个点中)与64位版本中的数量几乎相同,这是否确认这是一个与问题相关的问题到JVM(相同的堆大小和总进程大小的260Mb差异)?

java swing jvm

5
推荐指数
1
解决办法
4227
查看次数

标签 统计

java ×2

jvm ×2

linux ×1

memory ×1

swing ×1