Não há espaço disponível no dispositivo - na instância do Amazon EC2 Ubuntu

0

Acabei de expandir meu espaço de armazenamento no Amazon EC2 depois que fiquei sem volume. No entanto, mesmo depois de fazer isso, recebo uma mensagem de erro da seguinte forma:

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*

Minhas estatísticas de armazenamento:

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

Estou fazendo o projeto do meu mestre e agarrei esta mensagem de erro. Por favor ajude!

Obrigado

    
por chaitanya 11.05.2016 / 17:46

2 respostas

1

Seu problema é que /tmp é apenas 1Mb, enquanto o arquivo a ser classificado é 4Gb. Eu não sei perfeitamente como sort funciona, mas é certamente usando /tmp (como indicado no erro) e o 1Mb não é suficiente.

Você deve criar outra partição e montá-la no /tmp ou, se não puder fazer isso, criar um disco virtual de 10-20Gb (ou maior) com fallocate ou dd em sua pasta pessoal onde você tem espaço suficiente e monte isso como /tmp . fallocate é mais rápido porque não grava o arquivo inteiro como dd .

Portanto, você deve fazer o seguinte para criar um disco virtual em seu diretório inicial e montá-lo como /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

Talvez você também possa usar umount the /tmp e usar a pasta tmp existente, que está na pasta raiz / , pois a partição / tem muito espaço. Apenas certifique-se de que, após o umount , o /tmp permita acesso total a todos:

sudo umount /tmp
sudo chmod 1777 /tmp
    
por 11.05.2016 / 23:18
0

Com GNU sort especifique -T dir (ou --temporary-directory=dir ) onde dir é um diretório gravável em um sistema de arquivos com espaço suficiente, como /home/$USER/mytemp para o layout que você publicou.

    
por 12.05.2016 / 04:19