jvm的内存大小为什么样通常的设置为2的n次方?jvm内存报警超90%
时间:2018-02-10 05:20:03
浏览:次
点击:次
作者:
来源:
立即下载
①般的jvm内存设置可能都是⑥④m、①②⑧m、②⑤⑥m、⑤①②m、①⓪②④m、②⓪④⑧m等等,但基本都是②的n次方,感觉很少会使用①个随意的值,比如③⓪⓪m,“随意值”和②的n次方会有什么不同吗?
“②的幂方”MB的Java堆大小(-Xmx)只是个习惯。没啥特别意义。
在某些具体的JVM上,例如Sun/Oracle JDK / OpenJDK的HotSpot VM,在给Java堆申请时会内部做凑整,向上调整到最近的操作系统内存页大小的倍数。在x⑧⑥上这通常是④KB,也可配置到例如②MB,HotSpot VM就会将Java heap的大小调整到这个的倍数。但通常把-Xmx配置到“②的幂方”跟这个没任何关系,纯粹是①种(不知道从哪里传开的)习惯。
其实内存选①个足够的值就可以了,但是我们程序猿嘛,对⑥④ · ②⑤⑥ · ⑦⑧⑥ · ①⓪②④等等整数熟悉的不行,当然就从里面随手挑合适的值了,难道让我们用①③⑦⑨这样没意义的整数?别人看到了会问为什么选这么奇怪的数值,徒增麻烦。
我是来瞎猜的,看上去是ClassLoader Leak的问题,具体什么原因上Memory Profiler看看。
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
