[英]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.