zoukankan      html  css  js  c++  java
  • 编译时:virtual memory exhausted: Cannot allocate memory,常见于VPS

    原文链接:http://blog.csdn.net/taiyang1987912/article/details/41695895

    一、问题


     当安装虚拟机时系统时没有设置swap大小或设置内存太小,编译程序可能会出现virtual memory exhausted: Cannot allocate memory的问题,可以用swap扩展内存的方法解决。

    二、解决方法


    在执行free -m的时候提示Cannot allocate memory:

    (swap文件可以放在自己喜欢的位置如/var/swap)

    [root@Byrd byrd]# free -m
                 total       used       free     shared    buffers     cached
    Mem:           512        108        403          0          0         28
    -/+ buffers/cache:         79        432
    Swap:            0          0          0
    [root@Byrd ~]# mkdir /opt/images/
    [root@Byrd ~]# rm -rf /opt/images/swap
    [root@Byrd ~]# dd if=/dev/zero of=/opt/images/swap bs=1024 count=2048000
    2048000+0 records in
    2048000+0 records out
    2097152000 bytes (2.1 GB) copied, 82.7509 s, 25.3 MB/s
    [root@Byrd ~]# mkswap /opt/images/swap
    mkswap: /opt/images/swap: warning: don't erase bootbits sectors
            on whole disk. Use -f to force.
    Setting up swapspace version 1, size = 2047996 KiB
    no label, UUID=59daeabb-d0c5-46b6-bf52-465e6b05eb0b
    [root@hz mnt]# swapon /opt/images/swap
    [root@hz mnt]# free -m
                 total       used       free     shared    buffers     cached
    Mem:           488        481          7          0          6        417
    -/+ buffers/cache:         57        431
    Swap:          999          0        999

    内存太小,增加内存可以解决。

    使用完毕后可以关掉swap:

    [root@hz mnt]# swapoff swap
    [root@hz mnt]# rm -f /opt/images/swap

    swap文件也可以不删除,留着以后使用,关键是你的虚拟机硬盘够用。

    版权归原作者,这里仅作记录。

  • 相关阅读:
    单调栈问题解析
    Linux进程状态切换
    Shell编程小例子
    Linux之shell编程
    树的遍历框架
    你真的会求1-100有多少个素数吗
    java实现LRU算法
    从上到下打印二叉树 III
    从上到下打印二叉树I
    模拟盘电路板调试过程中出现的问题
  • 原文地址:https://www.cnblogs.com/hubery/p/4702655.html
Copyright © 2011-2022 走看看