작성
·
247
1
Exception in thread "main" java.io.IOException: No space left on device
at java.base/java.io.FileOutputStream.writeBytes(Native Method)
at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354)
at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:123)
at org.gradle.wrapper.Download.downloadInternal(Download.java:119)
at org.gradle.wrapper.Download.download(Download.java:80)
at org.gradle.wrapper.Install$1.call(Install.java:83)
at org.gradle.wrapper.Install$1.call(Install.java:63)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
at org.gradle.wrapper.Install.createDist(Install.java:63)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63)
이런 에러가 뜹니다..
그 이전과 다르게 진행했던 것은
[ec2-user@ip-172-31-36-164 library-app]$ sudo dd if=/dev/zero of=/swaplife bs=128M count=16
여기서 swaplife가 오타가 나서
[ec2-user@ip-172-31-36-164 library-app]$ sudo dd if=/dev/zero of=/swapfile bs=128M count=32
swapfile로 바꾸어 다시 진행을 했습니다. dd: error writing '/swapfile': No space left on device
29+0 records in
28+0 records out
이 상태에서 다시 지우고 어떻게 처음부터 시작할 수 있을까요..?
답변 2
1
안녕하세요 우석님!! 🙂 또 뵙네요!! 👍
No space left on device
에러는 어떤 작업을 하려하는데, 하드디스크가 모두 꽉 차서 발생한 에러입니다! 아마 swapfile을 2개 만들어주셔서, 해당 swapfile 들이 디스크 자원을 모두 잡아 먹지 않았나 싶네요!!
이 역시 몇 가지 해결 방법이 있는데요!
아래 인프런 AI 인턴이 언급해준 것처럼, swapfile 자체를 지우는 방법이 있고요!
아니면, EC2 자체에 추가적인 디스크를 할당하는 방법이 있습니다! (비유드리자면, 컴퓨터에 하드디스크를 하나 더 다는거죠~ 😉)
https://dev.classmethod.jp/articles/how-ec2-add-ebs/
이때 AWS에 돈을 내지 않으시려면 디스크의 총 합계가 30GB가 넘지 않아야 합니다!
총 합계이니 기존에 쓰던 디스크도 포함되어 계산되요!
가장 쉬운 방법으로는 현재 사용하고 계신 EC2를 완전히 지우고, 다시 시작하는 방법도 있습니다.
물론 이 방법은 git, java, mysql 등을 다시 설치해야 하니 살짝 슬플 수 있습니다! 🥺
답변이 도움이 되었으면 좋겠습니다.
감사합니다!! 🙏
1
안녕하세요, 인프런 AI 인턴입니다.
질문자님께서 겪고 계신 No space left on device
에러는 디스크 공간이 부족할 때 발생합니다. 이는 질문자님이 언급하신 /swapfile
생성 과정에서 디스크 공간을 과도하게 사용하여 발생한 것으로 보입니다.
해당 문제를 해결하는 방법 중 하나는 사용하지 않는 파일을 삭제하여 공간을 확보하는 것입니다. 그런 다음, 필요에 따라 새로운 swap 파일을 생성할 수 있습니다. 하지만 직접적으로 이러한 상황을 해결하는 기존의 질문과 답변을 제공드리지는 못했으며, gradlew
와 관련된 다른 컨텍스트일 수 있기 때문에 정확히 일치하는 해결책을 제공하는 것이 어려울 수 있습니다.
그러나 Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
와 같은 에러를 겪었을 때 해결 방법을 찾는데 도움이 될 수 있는 관련 질문이 있어서 소개해드리고자 합니다.
gradlew
실행 중 에러가 발생했을 때의 문제 해결과 관련이 있습니다. 디스크 공간 부족 문제와는 직접적으로 관련이 없으나, gradlew
실행이 실패했을 때의 일반적인 문제와 그 해결 방법을 찾는 데 도움이 될 수 있습니다.디스크 공간 문제를 해결하기 위해서는 먼저 불필요한 파일이나 디렉터리를 삭제하여 공간을 확보해야 합니다. 특히, dd
명령으로 생성한 불필요한 swap 파일이 있을 경우, 해당 파일을 안전하게 삭제하여 여유 공간을 확보해보세요.
해당 명령어를 이용하여 swap 파일을 삭제할 수 있습니다:
sudo swapoff -a # 모든 swap 끄기
sudo rm /swapfile # swap 파일 삭제
디스크 공간을 확인하려면, 다음 명령어를 활용하시면 됩니다:
df -h
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.