Native memory allocation (mmap) failed to map xxx bytes for committing reserved memory

Stella981
• 阅读 604

遇到问题

在服务器上运行 nexus 出现Native memory allocation (mmap) failed to map 838860800 bytes for committing reserved memory问题。

原因:查资料后是因为运行 nexus 需要 800m 的内存,而机器配置是1G,剩余可用的只有几十兆,所以导致无法启动

解决办法

方法一: 扩大机器配置;

方法二: 设置交换内存swap(一般设置为内存的两倍大小);

dd if=/dev/zero of=/tmp/swapfile bs=1024k count=256 #格式化文件 mkswap /tmp/swapfile #加载交换文件 swapon /tmp/swap #永久生效 vim /etc/fstab #最后一行添加 /swap1 swap swap defaults 0 0

方法三:设置虚拟机的启动参数

# Xms: 初始化堆内存(heap) # Xmx: 最大堆内存 # PermSize: 初始化永久内存,存储class类,不会被GC # MaxPermSize: 最大永久内存 # Xss: 每增加一个线程(thread)就会立即消耗的内存,而最佳值应该是128K,默认值好像是512 JAVA\_OPTS=-Xss128k -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=1024m

在这里补充下堆和栈的区别(这个堆和栈不是数据结构的堆和栈)

栈中分配局部变量空间,堆区是向上增长的用于分配程序员申请的内存空间。另外还有静态区是分配静态变量,全局变量空间的;只读区是分配常量和程序代码空间的;以及其他一些分区。
来看一个网上很流行的经典例子:
main.cpp
int a = 0; 全局初始化区
char \*p1; 全局未初始化区
main()
{
int b; 栈
char s\[\] = “abc”; 栈
char \*p2; 栈
char \*p3 = “123456”; 123456\\0在常量区,p3在栈上。
static int c =0; 全局(静态)初始化区
p1 = (char \*)malloc(10); 堆
p2 = (char \*)malloc(20); 堆
}
关于堆和栈区别的比喻
堆和栈的区别可以引用一位前辈的比喻来看出:
使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。
使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。

原文地址:https://blog.csdn.net/byg184244735/article/details/79832217
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
java反射, 不看你可别后悔
<divid"content\_views"class"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,
Stella981 Stella981
2年前
AndroidStudio封装SDK的那些事
<divclass"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,2.55,5z"id"raphael
Stella981 Stella981
2年前
Spring Boot 2下使用Feign找不到@EnableFeignClients的解决办法
<divid"content\_views"class"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,2
Stella981 Stella981
2年前
Jenkins发送邮件
<divid"content\_views"class"markdown\_viewsprismatomonedark"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelineca
Wesley13 Wesley13
2年前
Java8中的LocalDateTime工具类
<divid"content\_views"class"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,
Stella981 Stella981
2年前
Spring Boot MyBatis 连接数据库
<divid"article\_content"class"article\_contenttrackingad"datamod"popu\_307"datadsm"post"style"overflow:hidden;"<divclass"markdown\_views"<p最近比较忙,没来得及抽时间把MyBati
Easter79 Easter79
2年前
SVG跟随父级DIV自适应
后台返回过来的是这样的SVG标签<svgwidth"100%"height"100%"version"1.1"xmlns"http://www.w3.org/2000/svg"<gtransform"translate(00)"
Stella981 Stella981
2年前
CentOS7开启docker远程访问
<divid"content\_views"class"markdown\_viewsprismdracula"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"rou
Stella981 Stella981
2年前
Neo4j
<divid"content\_views"class"markdown\_viewsprismgithubgist"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap
Stella981 Stella981
2年前
SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例
<divid"article\_content"class"article\_contenttrackingad"datamod"popu\_307"datadsm"post"style"overflow:hidden;"<divclass"markdown\_views"<h2id"springboot使用ym