精华内容
下载资源
问答
  • virtual memory exhausted:cannot allocate memory

    千次阅读 2016-04-19 20:09:29
     然后仔细查看了一下,在系统奔溃之前出现了“virtual memory exhausted:cannot allocate memory”的错误提示,怎么解决呢?  搜网上解决办法,尝试了一番没有结果。后来这样简单的方法解决了:  1. 关闭客户机 ...

          本人在Ubuntu下安装一个应用程序的时候,系统崩溃了抓狂是崩溃了。

          然后仔细查看了一下,在系统奔溃之前出现了“virtual memory exhausted:cannot allocate memory”的错误提示,怎么解决呢?

         搜网上解决办法,尝试了一番没有结果。后来这样简单的方法解决了:

         1. 关闭客户机

         2.在下图所示的界面上找到“内存”这一条,点击(我的本来是1G的,后来改成2G也没有成功,再改成了4G才成功的惊恐,没有个好装备还玩不成)

     



        3.确定,保存之后,重启客户机。运行程序,成功。 

        记录以免自己后面再遇到这问题。

    展开全文
  • virtual memory exhausted: Cannot allocate memory 在编译软件的时候,出现了这个错误: virtual memory exhausted: Cannot allocate memory 使用free -m命令检查swap分区情况 lk@Mibook:~$ free -m t...

    Linux虚拟内存不足,扩展虚拟内存的解决办法

    virtual memory exhausted: Cannot allocate memory

    在编译软件的时候,出现了这个错误:

    virtual memory exhausted: Cannot allocate memory

    使用free -m命令检查swap分区情况

    lk@Mibook:~$ free -m
                  total        used        free      shared  buff/cache   available
    Mem:           3828        1212         113        1022        2501        1315
    Swap:           976         856         120
    

    发现交换分区只有976M ,显然太小了,所以考虑增加虚拟内存。

    1 创建用于交换分区的空间

    标准格式:

    $ dd if=/dev/zero of=/mnt/swap bs=1024 count=4096000 
    

    运行后:

    lk@Mibook:~$ sudo dd if=/dev/zero of=/mnt/swap bs=1024 count=4096000 
    4096000+0 records in
    4096000+0 records out
    4194304000 bytes (4.2 GB, 3.9 GiB) copied, 19.1016 s, 220 MB/s
    

    count=1024 代表设置1G大小swap分区,

    我这里设置了4096,也就是4个G大小的swap分区。

    2 设置交换分区文件

    标准格式:

    $ mkswap /mnt/swap
    

    运行后:

    lk@Mibook:~$ sudo mkswap /mnt/swap
    Setting up swapspace version 1, size = 3.9 GiB (4194299904 bytes)
    no label, UUID=3a46d2c9-2eba-433e-ba9a-6e98a5f256ba
    

    3 立即启用交换分区文件

    标准格式:

    $ swapon /mnt/swap
    

    运行后:

    lk@Mibook:~$ sudo swapon /mnt/swap
    swapon: /mnt/swap: insecure permissions 0644, 0600 suggested.
    

    查看一下/etc/rc.local,如果有swapoff -a需要改为swapon -a

    lk@Mibook:~$ cat /etc/rc.local
    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    exit 0
    

    4 设置开机启用swap分区

    查看/etc/fstab文件

    lk@Mibook:~$ cat /etc/fstab
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda2 during installation
    UUID=388726b7-1e49-429a-b9dd-7e285931159b /               ext4    errors=remount-ro 0       1
    # /boot/efi was on /dev/sda1 during installation
    UUID=5E17-7068  /boot/efi       vfat    umask=0077      0       1
    # swap was on /dev/sda3 during installation
    UUID=600bf7c2-11c2-4e94-9ee5-062cbe203afc none            swap    sw              0       0
    

    使用sudo gedit /etc/fstab命令打开,在末尾添加/mnt/swap swap swap defaults 0 0

    再次使用cat /etc/fstab命令查看确认

    lk@Mibook:~$ cat /etc/fstab
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda2 during installation
    UUID=388726b7-1e49-429a-b9dd-7e285931159b /               ext4    errors=remount-ro 0       1
    # /boot/efi was on /dev/sda1 during installation
    UUID=5E17-7068  /boot/efi       vfat    umask=0077      0       1
    # swap was on /dev/sda3 during installation
    UUID=600bf7c2-11c2-4e94-9ee5-062cbe203afc none            swap    sw              0       0
    /mnt/swap swap swap defaults 0 0
    

    5 查看新的分区情况

    再次执行free -m查看效果

    lk@Mibook:~$ free -m
                  total        used        free      shared  buff/cache   available
    Mem:           3828        1233         254         965        2340        1352
    Swap:          4976         806        4169
    

    发现swap分区变成了4个G,扩展成功。


    参考文章阿里云ECS Linux开启swap(虚拟内存)

    展开全文
  • 原因: 均为系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断 解决方式: 增加一个交换分区 1.创建分区文件, 大小2G dd if=/dev/zero of=/swapfile bs=1k count=2M 2.生成swap 文件系统 ...

    原因:

    均为系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断


    解决方式:

    增加一个交换分区

    1.创建分区文件, 大小2G

    dd if=/dev/zero of=/swapfile bs=1k count=2M
    

    2.生成swap 文件系统

    mkswap /swapfile
    

    3.激活swap 文件

    swapon /swapfile
    

    这样就没问题了, 但是这样并不能在系统重启的时候自动挂载交换分区, 这样就需要修改fstab。

    4.修改/etc/fstab 文件, 新增如下内容:

    /swapfile swap  swap  defaults 0 0
    

    这样每次重启系统就会自动加载swap 文件。

    展开全文
  • virtual memory exhausted: Cannot allocate memory 的问题,可以用swap扩展内存的方法。 二、解决方法 在执行free -m的是时候提示Cannot allocate memory: (swap文件可以放在自己喜欢的位置如/var/swap) [root@...

    一、问题

       当安装虚拟机时系统时没有设置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文件也可以不删除,留着以后使用,关键是你的虚拟机硬盘够用。

    展开全文
  • unbuntu@unbuntu-virtual-machine:~$ sudo dd if=/dev/zero of=/opt/images/swap bs=5120 count=5120000 //设置swap内存,of=swap的目录 bs为扩大的内存空间 unbuntu@unbuntu-virtual-machine:~$sudo mkswap /opt/...
  • make ./test_pcl 测试结果: 遇到的坑: make时出现的问题: 报错: virtual memory exhausted无法分配内存 或c++: internal compiler error: Killed (program cc1plus) 原因: swap空间不足 解决办法: 退出当前的...
  • 在执行free -m的是时候提示Cannot allocate memory: (swap文件可以放在自己喜欢的位置如/var/swap) [root@Byrd byrd]# free -m total used free shared buffers cached Mem: 512 10...
  • 在云端ubuntu下编译程序出现了command :"Virtual memory exhausted:Cannot allocate memory",我用df-h查看设备内存的时候还显示有很多啊~在网上查了一下说是虚拟内存不够,这在本地当然不会发生,因为本地有好多好多...
  • 编译VINS-Mono出现virtual memory exhausted:无法分配内存的解决方法问题产生问题解决 问题产生 博主今天打算尝试一下编译VINS-Mono的源码,结果在编译的过程出现了如下错误: 问题解决 编译失败,显然,问题出在...
  • virtual memory exhausted: Cannot allocate memory 问题原因:由于物理内存本身很小,且阿里云服务器并没有分配swap空间,当物理内存不够用时, 物理内存中暂时不用的内容没地方转存。 解决方法:手动分配一个...
  • 转自:...在编译PHP的时候会提示:virtual memory exhausted: Cannot allocate memory,编译失败。 解决方法:发生该问题的原因是服务器的内存不够,从而导致编译失败。而购买的Linux服务器...
  • 用树莓派做个小项目,结果出现上述消息,感到很奇怪! 按照网上的资料不管是按linux的一般方法,还是树莓派的dphys-swap都不行,改大了swap空间也不可以。测试中还出现了“Device or resource busy”等问题。...
  • 在配置rocksdb时遇到了如下问题百度了一番找到了解决方案,感谢https://www.cnblogs.com/xey-csu/p/5136013.html原因是腾讯云物理内存小,又没有分配swap空间,当物理内存不够时,物理内存中暂时不用的内容没有地方...
  • 在执行free -m的是时候提示Cannot allocate memory: (swap文件可以放在自己喜欢的位置如/var/swap)   [root@Byrd byrd]# free -m total used free shared buffers cached Mem: 
  • 1.内存交换空间(swap)的构建 安装Linux时一定需要的两个分区:根目录和swap(内存交换空间)。 swap的功能:在应付物理内存不足的情况下所造成的内存扩展记录的功能。 物理内存不足的时候,swap使用硬盘来暂时...
  • 编译QT程序出现virtual memory exhausted: Cannot allocate memory 内存被耗尽了。
  • 是因为物理内存太小,可以开启swap内存交换空间来解决 先用free -m查看是否有swap空间: #free -m total used free shared buffers cached Mem: 504 471 32 0 19 269 -/+ buffers/ca...
  • virtual memory exhausted: Cannot allocate memory在php.net上找到的解决方法,原文链接是:https: //bugs.php.net/bug.php?id=48809解决方法:将php安装配置文件中加了引号中的配置(不包括引号)“–disable-...
  • 由于内存不够,需要在php配置的时候./configure最后添加上 --disable-fileinfo >>./configure --prefix= ........... --disable-fileinfo >> make >> ..... 转载于:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,926
精华内容 770
关键字:

exhaustedmemoryvirtual