Linux 上的交换空间为空

Linux 上的交换空间为空

如何在 Linux 设备 (Amazon Linux AMI) 上创建或调整交换内存的大小。问题出现在我运行程序时,它给出了以下错误:

 IOError: [Errno 28] No space left on device

INFO (theano.gof.compilelock): Waiting for existing lock by unknown process (I am process '947')
INFO (theano.gof.compilelock): To manually release the lock, delete /root/.theano/compiledir_Linux-3.4.43-43.43.amzn1.x86_64-x86_64-with-glibc2.2.5-x86_64-2.6.8-64/lock_dir
WARNING (theano.gof.compilelock): Something wrong happened: <type 'exceptions.IOError'> [Errno 28] No space left on device

当我执行自由的检查设备的内存,linux 设备打印给我:

    total       used       free     shared    buffers     cached
Mem:      22058544    7581508   14477036          0     144316    7025740
-/+ buffers/cache:     411452   21647092
Swap:            0          0          0

我如何调整交换大小以使用它或创建新的交换文件。谢谢!

答案1

我不知道这对你来说是否一样,但我试过了,而且有效。你可以尝试使用交换文件:

  1. 创建一个将用作交换文件的文件,其计数等于所需的块大小(此处大小为 64MB)

    dd if=/dev/zero of=/swapfile bs=1024 count=65536
    
  2. 使用以下命令启用交换:

    mkswap /swapfile
    
  3. 检查交换是否确实被使用:

    swapon -s
    
  4. 如果一切正常,您可以将此行添加到 /etc/fstab :

    /swapfile          swap            swap    defaults        0 0
    

答案2

抱歉,我找到了答案。我必须执行以下操作来创建交换文件:

dd if=/dev/zero of=/swapfile bs=1024 count=10930193

然后要启用它只需执行以下操作:

mkswap /swapfile

相关内容