용량이 부족해진 후 방금 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
확실히 사용되고 있으며 1Mb로는 충분하지 않습니다./tmp
다른 파티션을 생성하여 에 마운트해야 합니다 /tmp
. 또는 이를 수행할 수 없는 경우 충분한 공간이 있는 홈 폴더에 10-20Gb(또는 그 이상) 가상 디스크를 생성하여 에 fallocate
마운트 dd
해야 합니다 /tmp
. fallocate
처럼 보이지 않기 때문에 더 빠릅니다 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
해당 파티션에 많은 공간이 있으므로 루트 폴더의 기존 폴더를 사용할 수도 있습니다 . 모든 사람에게 전체 액세스를 허용한 후 다음 사항을 확인하세요. /tmp
tmp
/
/
umount
/tmp
sudo umount /tmp
sudo chmod 1777 /tmp
답변2
게시한 레이아웃 과 같이 충분한 공간이 있는 파일 시스템에 쓰기 가능한 디렉토리를 지정 sort
하려면 -T dir
GNU 를 사용하십시오 .--temporary-directory=dir
dir
/home/$USER/mytemp