博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
overcommit_memory
阅读量:5996 次
发布时间:2019-06-20

本文共 1401 字,大约阅读时间需要 4 分钟。

今天在一台机器上查看java进行时,运行jps -m时报如下错误:

1
2
3
Error occurred during initialization of VM
Could not reserve enough space 
for 
object heap
Could not create the Java virtual machine.
但其实服务器的内存是充足的:
1
2
3
4
5
free 
-m
             
total       used       
free     
shared    buffers     cached
Mem:         64412      27418      36994          0        174      13226
-/+ buffers
/cache
:      14018      50394
Swap:            0          0          0
这其实是由于一个系统的参数导致:
vm.overcommit_memory
这个可以用来控制对应用分配内存的限制,默认是0,关于这个参数
1
2
3
4
5
6
7
8
9
10
11
0 — The default setting. The kernel performs heuristic memory overcommit
handling by estimating the amount of memory available and failing requests
that are blatantly invalid. Unfortunately, since memory is allocated using
a heuristic rather than a precise algorithm, this setting can sometimes allow
available memory on the system to be overloaded.
1 — The kernel performs no memory overcommit handling. Under this setting,
the potential 
for 
memory overload is increased, but so is performance 
for
memory-intensive tasks.
2 — The kernel denies requests 
for 
memory equal to or larger than the 
sum 
of
total available swap and the percentage of physical RAM specified 
in 
overcommit_ratio.
This setting is best 
if 
you want a lesser risk of memory overcommitment.

可以看出2是比较严格的限制,1是最宽松的限制,对于不同的应用对这个参数的要求页不一样。

比如对于greenplum来说,是不允许使用swap的,所以参数要设置为2.
而对于redis应用,因为在bgsave的时候,需要2倍的使用内存,所以建议设置为1.
java的应用设置为0或1都是可以的。
本文转自菜菜光 51CTO博客,原文链接:http://blog.51cto.com/caiguangguang/1395596,如需转载请自行联系原作者
你可能感兴趣的文章
变量的作用域
查看>>
J2EE用监听器实现同一用户只能有一个在线
查看>>
javascript 数据结构----集合
查看>>
第二阶段冲刺9
查看>>
Network | NAT
查看>>
SGU 158.Commuter Train
查看>>
C#将字符串数组转换为以逗号分隔的字符串
查看>>
_stdcall、cdecl、fastcall理解
查看>>
国产PLC的优势和改进方向
查看>>
基础测试
查看>>
2^k进制数 vijos1315 NOIP2006提高组T4
查看>>
Android项目目录结构
查看>>
Making the Grade
查看>>
由css reset想到的深入理解margin及em的含义
查看>>
多表连接
查看>>
EditText 和 TextView 的属性详解
查看>>
849. Maximize Distance to Closest Person
查看>>
call指令和ret指令的配合使用
查看>>
端口被占用怎么办?
查看>>
经典的排序算法
查看>>