繁体   English   中英

Java,JVM和OS以及交换

[英]Java,JVM and OS and swap

我想知道我是否使用以下方式启动Java虚拟机:

-Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=256m 
-XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:+UseParallelOldGC 
-XX:LargePageSizeInBytes=4m -XX:-BindGCTaskThreadsToCPUs 

因此,我用-Xms等于-Xmx来启动服务器。我的Java OS进程是否会“保留”来自OS的内存? 因此,此JVM将具有2GB的空间,如果操作系统具有该空间,则它将允许该进程启动,否则没有。

在JVM以2GB开头之后,是否有可能使用os的交换内存?

(因此,如果它最初启动时没有使用交换内存)

启动时将使用约2400 MB的虚拟内存。 它永远不会放弃虚拟内存。 它可以归还主内存,但很少。

在JVM以2GB开头之后,是否有可能使用os的交换内存?

技术上可以,但是实际上这是一个非常糟糕的主意。 执行GC时,假定它具有对所有内存的随机访问权限。 如果JVM开始交换,它可能会暂停很长时间(几分钟),甚至挂起计算机。

鉴于您可以200美元左右的价格购买32 GB,通常可以根据需要购买足够的内存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM