Couldnotrerveenoughspaceforobjectheap解决办法

更新时间:2023-06-29 09:38:32 阅读: 评论:0

Couldnotrerveenoughspaceforobjectheap解决办法
Centos6.4  Jdk1.6
文科生可以报的专业
1.在终端输⼊Java命令报错
[root@localhost local]# java
Error occurred during initialization of VM
Could not rerve enough space for object heap
Error: Could not create the Java Virtual Machine.rai是什么意思
灶神之妻
Error: A fatal exception has occurred. Program will exit.
bcos2.是系统参数(overcommit_memory和overcommit_ratio)配置的问题
pittsburgh3.查看系统内存分配状态
[root@localhost local]# grep -i commit /proc/meminfo
CommitLimit:    15550904 kB
Committed_AS:  15098404 kBsarah怎么读英语
  看到CommitLimit和Committed_As参数。
  CommitLimit是⼀个内存分配上限,CommitLimit = 物理内存 * overcommit_ratio(默认50,即50%) + swap⼤⼩
  Committed_As是已经分配的内存⼤⼩。
4.内核参数overcommit_memory
[root@localhost local]# cat /f | grep overcommit_memory
vm.overcommit_memory=2
  它是内存分配策略
  可选值:0、1、2。
invalidate
  0,表⽰内核将检查是否有⾜够的可⽤内存供应⽤进程使⽤;如果有⾜够的可⽤内存,内存申请允许;否则,内存申请失败,并把错误返回给应⽤进程。
  1,表⽰内核允许分配所有的物理内存,⽽不管当前的内存状态如何。
drillmyhole  2,表⽰内核允许分配超过所有物理内存和交换空间总和的内存
5. 解决办法
immobile
  将vm.overcommit_memory 设为1即可
tvu
  有三种⽅式修改内核参数,但要有root权限:
1)编辑/f ,改vm.overcommit_memory=1,然后sysctl -p 使配置⽂件⽣效
2)sysctl vm.overcommit_memory=1
3)echo 1 > /proc/sys/vm/overcommit_memory

本文发布于:2023-06-29 09:38:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1065505.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:内存   分配   内核   允许   命令
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图