Linux上的交换是空的


0

如何在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

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

Answers:


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
    

0

对不起,我找到了答案。我必须做的是在下面创建交换文件:

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

然后启用它只需:

mkswap /swapfile

1
这看起来非常接近 @ NabilEchaouch的回答 ;如果是这样,你应该投票并接受(通过点击投票箭头下方的绿色复选标记),而不是写下你自己的另一个答案。之后您可以删除自己的答案,因为它不会添加Nabil的答案中没有的任何内容。
a CVn

@MichaelKjörling完成! ;)
Marc Ortiz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.