设备上没有剩余空间 - 在 Amazon EC2 实例 Ubuntu 上

设备上没有剩余空间 - 在 Amazon EC2 实例 Ubuntu 上

在容量用完后,我刚刚在 Amazon EC2 上扩展了存储空间。但是,即使这样做之后,我仍然收到如下错误消息:

ubuntu@ip-172-31-30-27:~/walt/bin$ LC_ALL=C 
sort -k 1,1 -k 3,3n -k 2,2n -k 6,6 \-o ./final_1_mr.mr.sorted_end_first ./final_1_mr.mr
*sort: write failed: /tmp/sort8Aua2D: No space left on device*

我的存储统计:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G   12K  3.9G   1% /dev
tmpfs           799M  340K  799M   1% /run
/dev/xvda1      788G  295G  462G  39% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
none            100M     0  100M   0% /run/user
overflow        1.0M     0  1.0M   0% /tmp

我正在做我的硕士项目并坚持这个错误消息。请帮忙!

谢谢

答案1

你的问题是/tmp只有1Mb,而要排序的文件有4Gb。我不完全知道它是如何sort工作的,但它肯定正在使用/tmp(如错误中所述)并且 1Mb 是不够的。

您应该创建另一个分区并将其安装在 中/tmp,或者如果您无法执行此操作,请在您有足够空间的主文件夹中创建一个 10-20Gb(或更大)的虚拟磁盘fallocatedd并将其安装为/tmpfallocate速度更快,因为它不会像dd.

因此,您应该执行以下操作在主目录中创建虚拟磁盘并将其挂载为/tmp

cd                              # change to your home directory    
fallocate -l 10G mydrive.img    # create the virtual drive file
mkfs -t ext3 mydrive.img        # format the virtual drive
sudo umount /tmp                # unmount the /tmp
sudo mount -t auto -o loop mydrive.img /tmp   # mount the virtual drive

也许您也可以只使用根文件夹中的现有文件umount夹,因为该分区有很多空间。只需确保在允许每个人完全访问之后: /tmptmp//umount/tmp

sudo umount /tmp
sudo chmod 1777 /tmp

答案2

使用 GNUsort指定-T dir(或--temporary-directory=dirdir文件系统上具有足够空间的可写目录,例如/home/$USER/mytemp您发布的布局。

相关内容