【发布时间】:2012-02-27 01:57:10
【问题描述】:
我知道有类似this one 的问题被问及回答。我对答案不满意,所以让我在这里输入更多详细信息。
我尝试使用 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
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 2000000181005ccf
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 3
nonvoluntary_ctxt_switches: 2
【问题讨论】: