文章内容较长。请耐着性子看下去!
**

Idea开发工具中报错信息:

问题一:

**
Error occurred during initialization of VM
Unable to allocate 129728KB bitmaps for parallel garbage collection for the requested 4151296KB heap.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

大概意思就是:
初始化VM时发生错误
无法为请求的4151296KB堆分配129728KB位图进行并行垃圾收集。
错误:无法创建Java虚拟机。
错误:发生致命异常。程序将退出。

info memory 参数解释 insufficient memory was available for_Java

问题二:

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (malloc) failed to allocate 1558336 bytes for Chunk::new

大概意思:
Java运行时环境的内存不足,无法继续运行。
本机内存分配(malloc)未能为Chunk::new分配1558336字节

问题三:

info memory 参数解释 insufficient memory was available for_info memory 参数解释_02

问题四:(虚拟内存不足是前面出现的问题根本原因所在)

There is insufficient memory for the Java Runtime Environment to continue.(内存不足为根本原因)

没有足够的内存供Java运行时环境继续使用,让我这个16GB内存的电脑何去何从?

以下为综合解决方案:

前言:

首先至于我本人在开发过程中为什么会出现这种原因需要做一下解释,由于后期工作量的增加,代码复杂度和代码量逐渐增加,所启动的服务也有很多,电脑也算是一台新电脑,16GB内存容量,因为要做开发所以给自己配了一台大内存的笔记本电脑,但是在这几天的开发过程中,错误日志竟然提示我“There is insufficient memory for the Java Runtime Environment to continue” 大概意思就是没有足够的内存供Java运行时环境继续使用。心中一万个mmp,好歹也是16GB大内存的笔记本电脑了,竟然给我报这个粗错,从小的方面来说这不是打我脸吗?从大的方面说这不是丢“某想”厂商的面子吗?还以为自己从从某想旗舰店买到了“假”电脑。后来发现是我错怪某厂商了!

由于一直遇见这样的问题,在开发过程中也会时不时的用 Mem Reduct 这款内存管理软件进行清理内存;

info memory 参数解释 insufficient memory was available for_ci_03


只要开启过多的服务我发现“页面设置”中的“已使用”就会达到99%,100%直接爆红!访问web时有时候直接把我的浏览器直接给我干崩了:

info memory 参数解释 insufficient memory was available for_ci_04

那么我们就算是找到了问题的根本原因所在**(无非就是增加虚拟内存呗 PS:如果你有钱的话可花钱购买内存条手动增大物理内存)** 但我没钱,也懒得动手可咋整?那就只有动动鼠标增大虚拟内存用来创建java虚拟机,create the Java Virtual Machine.

我这里只介绍如何增大我们电脑上的虚拟内存:

方法如下:

1、

info memory 参数解释 insufficient memory was available for_Java_05


2、

info memory 参数解释 insufficient memory was available for_java_06


3、

info memory 参数解释 insufficient memory was available for_虚拟内存_07


4、

info memory 参数解释 insufficient memory was available for_ci_08


5、

info memory 参数解释 insufficient memory was available for_java_09


6、

info memory 参数解释 insufficient memory was available for_ci_10


7、然后在驱动器列表中选择一个合适的分区(意思就是:你电脑上D盘或者E盘哪个盘符容量大就选择哪个)我这里选择的是E盘

info memory 参数解释 insufficient memory was available for_Java_11


说明:在上图中自定义大小(C)中的初始大小(MB)选项中一般推荐设置为你电脑内存条的实际容量的1.5倍最大值(MB)一般设置成内存条实际容量的3倍

初始大小(MB)

一般设置成内存条的实际容量的1.5倍

最大值(MB)

一般设置成内存条实际容量的3倍

比如:我电脑内存条是16GB, 16GB * 1.5=24GB 初始化大小就设置成24676(MB); 然后16GB * 3=48GB 换算成MB就是49152MB,那么我最大值就设置成49152MB即可!根据自己电脑情况而定,如果不会换算的就使用下面附加的这个连接【计算机存储单位换算】

info memory 参数解释 insufficient memory was available for_info memory 参数解释_12

记得初始大小和最大值都要算对,别弄错了,以免造成不必要的开销!

检查输入无误之后点击确认,提示重启电脑之后虚拟内存就会生效!

虚拟内存不会永久占用你的硬盘容量:

以下内容来自百度百科:
电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。

若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows会用虚拟存储器进行补偿。它将计算机的RAM和硬盘上的临时空间组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为“分页文件”的空间中。将数据移入分页文件可释放RAM,以便完成工作。

一般而言,计算机的RAM容量越大,程序运行得越快。若计算机的速率由于RAM可用空间匮乏而减缓,则可尝试通过增加虚拟内存来进行补偿。

重启之后:

info memory 参数解释 insufficient memory was available for_java_13


虚拟内存妥妥的够用!

Say goodbye~~~~~