vm.overcommit_memory和vm.overcommit_ratio
来源:互联网 发布:微信僵尸粉源码php 编辑:程序博客网 时间:2024/05/17 02:40
有两台新配的服务器内存128G,但在空余内存还有20G,page cache 60G时jps启动不了,提示java heap space,c中调用malloc无法分配5G以上的内存,很奇怪。
倒是在网上有看到显卡没装风尚导致该问题的,最后换了一个带风扇的显卡就解决的:
http://ubuntuforums.org/showthread.php?p=11649751
后来同事问了运帷,原来时系统参数overcommit_memory和overcommit_ratio搞的鬼。
grep -i commit /proc/meminfo
看到CommitLimit和Committed_As参数。
CommitLimit是一个内存分配上限,CommitLimit = 物理内存 * overcommit_ratio(默认50,即50%) + swap大小
Committed_As是已经分配的内存大小。
overcommit_memory参数就是控制分配内存是否可以超过CommitLimit,默认是0,即启发式的overcommitting handle,会尽量减少swap的使用,root可以分配比一般用户略多的内存。1表示允许超过CommitLimit,2表示不允许超过CommitLimit。
原来这种怀疑系统参数有问题的诊断一般就是比较和正常机器的sysctl.conf配置,下次要先比较避免武断下结论。。
参考: http://bkeep.blog.163.com/blog/static/12341429020123795827876/
0 0
- vm.overcommit_memory和vm.overcommit_ratio
- 关于系统参数:vm.overcommit_memory 和 vm.overcommit_ratio;
- 【linux】 vm.overcommit_memory 内核参数
- overcommit_memory/overcommit_ratio/overcommit_kbytes
- Linux 系统 vm.overcommit_memory 内核参数
- redis启动提示vm.overcommit_memory、somaxconn警告错误
- redis 在备份报错修改vm.overcommit_memory
- vm
- VM
- VM
- VM
- VM
- vm
- VM
- vm
- Dalvik VM和JVM
- JVM和Dalvik VM
- 从Redis fork主进程 Can’t save in background: fork: Cannot allocate memory && vm.overcommit_memory
- 懒加载实例--hibernate
- opencv中阈值函数处理
- 前端开发面试题整理(JS篇)
- C++类中static的引用
- 给html超链接设置事件
- vm.overcommit_memory和vm.overcommit_ratio
- 通过输入的年份和月份输出对应的日历
- 怎样写一个解释器 --没看懂
- 你真的知道你看到的UTF-8字符是什么吗?
- 黑马程序员-讲解Vector的特有取出方式Enumeration学习日记
- 指针与数
- Android OpenGL ES绘制透明纹理立方体(未解决)
- 算法学习---基本数据类型的数组二分查找实现
- Windows Server 2003 密钥