cygwin unable to allocate heap
来源:互联网 发布:王传君我不喜欢知乎 编辑:程序博客网 时间:2024/05/17 02:46
最近在编译一些较大的软件包时经常会出现一些couldn't allocate heap的错误,一会是gcc.exe,一会是make.exe,一会是bash...不过我发现这些错误通常只有重复执行make多几次,最终都会通过.
我猜想这可能是因为heap size设置太小的原因造成的. 而多重复几次可以成功的原因是因为这个makefile牵涉到许多次的编译以及链接工作,而其中的heap没有得到很好的释放,结果积累下来就超过了所设置的heap大小.而重复执行时,之前在heap size没超过之前编译成功的文件已不需要继续编译或链接,这样不再占用heap size,从而可以继续编译以下的内容,所以等效来看只是将一个需要大heap的工作分解成几个占用小heap的工作.但是当单个不再可分解的工作所需的heap size就超过了限制估计是无法通过这种方法来解决的.
那如何能够增加cygwin的heap尺寸呢?
尝试1:
Cygwin
程序缺省可以分配的内存不超过384
MB(program+data)。多数情况下不需要修改这个限制。然而,如果需要更多实际或虚拟内存,应该修改注册表的
HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。田家一个DWORD键heap_chunk_in_mb并把它的值设为
需要的内存限制,单位是十进制MB。也可以用cygwin中的regtool完成该设置。例子如下:
regtool -i set /HKLM/Software/Cygnus\ Solutions/Cygwin/heap_chunk_in_mb 1024
regtool -v list /HKLM/Software/Cygnus\ Solutions/Cygwin
程序缺省可以分配的内存不超过384
MB(program+data)。多数情况下不需要修改这个限制。然而,如果需要更多实际或虚拟内存,应该修改注册表的
HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。田家一个DWORD键heap_chunk_in_mb并把它的值设为
需要的内存限制,单位是十进制MB。也可以用cygwin中的regtool完成该设置。例子如下:
regtool -i set /HKLM/Software/Cygnus\ Solutions/Cygwin/heap_chunk_in_mb 1024
regtool -v list /HKLM/Software/Cygnus\ Solutions/Cygwin
- cygwin unable to allocate heap
- QCC10000E -Unable to allocate environment handle
- Oracle unable to allocate MINEXTENTS beyond 3
- cygwin unable to get setup
- ORA-04031:unable to allocate N bytes of shared memory
- ORA-04031: unable to allocate 4096 bytes of shared memory
- ORA-04031: unable to allocate 2048024 bytes of shared memory
- ORA-01659: unable to allocate MINEXTENTS beyond 10
- Unable to allocate 61257852 elements of size 4 bytes
- IARSTM8 "unable to allocate space for sections "问题解决与改良
- unable to execute dex: java heap space java heap space
- Unable to execute dex: Java heap space Java heap space
- Unable to execute dex: Java heap space Java heap space
- cygwin unable to remap dll to same address as parent
- Unable to allocate and lock memory. The virtual machine will be paused. Please close applications to
- 解决Unable to launch cygpath. Is Cygwin on the path?
- Unable to launch cygpath. Is Cygwin on the path解决方法
- 编译Android出错:Unable to execute dex: Java heap space
- 截取字符串,中文一个字算一个字,英文两个字符算一个字
- Nmap参考指南
- POI操作Excel常用方法总结
- C++ FAQ学习笔记 26章 内置原始类型等
- 分层与解耦
- cygwin unable to allocate heap
- 3.18二分搜索算法各种变种
- Cisco Type 7 Password 加密解密原理和代码
- 关于C++中的 多态 问题
- SQLServer语句运行统计信息
- cisco “env_vars” file on flash
- .net 注册帐号时邮箱激活
- Android网络编程之Http通信
- Android入门之Fragment和FragmentActivity的使用方法