zoukankan      html  css  js  c++  java
  • Linux 编译时内存不足

    1、编译内核出现问题:No space left on device

     AS      .tmp_kallsyms1.o

    .tmp_kallsyms1.S:2: fatal error: when writing output to /tmp/ccf0eS0W.s: No space left on device

    compilation terminated.

    make: *** [.tmp_kallsyms1.o] Error 1

    arm-none-Linux-gnueabi-objcopy: 'vmlinux': No such file

    cp: cannot stat `linux.bin': No such file or directory

    gzip: linux.bin: No such file or directory

    ./mkimage: Can't open kernel.bin: No such file or directory

    root@debian:/mnt/kernelsrc/linux-3.3# 

    主要是系统 /tmp/空间不足引起的,tmp文件夹空间不足了,不能满足编译的需求,编译的中间文件不能写入。

    解决办法 mkdir  文件夹——你可以使用的文件夹 比如说 mkdir /mnt/kernelsrc/tmp

    然后只要export TMPDIR=/mnt/kernelsrc/tmp

    这样就不会出现 tmp文件夹不够用的情况。

    2、编译程序时,如果出现类似virtual memory exhausted: Cannot allocate memory的错误时,可以用下面的方法解决

    创建swap挂载点

    # mkdir /opt/images/

    # rm -rf /opt/images/swap

    设置挂载swap的大小,64M*32=2GB

    # dd if=/dev/zero of=/opt/images/swap bs=64M count=32

    # mkswap /opt/images/swap

    开启swap

    # swapon /opt/images/swap

    这个时候,可以执行之前内存不足时的命令了,正常情况下,执行时间会比较长,但是能过去

    最后,可以考虑关闭swap并删除挂载文件

    # swapoff swap
    # rm -f /opt/images/swap

  • 相关阅读:
    Apache Struts 2.3.12 GA?
    emacs配置《转》
    vim配置
    vim插件
    git使用
    ubuntu常用设置
    Eclipse如何关联已经clone的Git项目
    变量名、对象引用(指针)与堆栈
    Web项目转换为groovy项目的步骤
    日志 20071208(SvcUtil.exe,高并发网站架构)
  • 原文地址:https://www.cnblogs.com/Baron-Lu/p/6808827.html
Copyright © 2011-2022 走看看