Dev/Linux

[Linux] 리눅스 디스크 용량 확보

내가 그린 코딩 그림 2023. 5. 14. 15:38
반응형

Free disk space is less than 5%~~ 와 같은 알림이 왔다. 오류는 아니지만 가만 두면 오류가 생길 수 있기 때문에 관련해서 서버 문제가 생길 수 있기 때문에 바로 문제를 찾아보기 시작했다. (환경은 centOS 7버전)

 

1. 원인 탐색

df -h

명령어를 통해 확인하니 추가된 스토리지 볼륨 그룹이 아닌 기본 스토리지 영역에 500메가 밖에 남지 않았었다(지금은 해결해서 줄어든 상태) 어떨때는 100메가로 줄어들기도 하고 1기가로 늘어나기도 했었는데 다른 공간 여유는 있지만 필요한 특정 공간 여유가 없어지면 어떤 것이든 문제가 생길 확률이 매우 높기 때문에 더더욱 빨리 해결을 해야했다.

 

추정 원인들은 다음과 같았다.

  • 로그파일 (특정 로그가 쌓여서 용량 부족)
  • 스왑메모리 (자원이 부족할 때를 대비해 스왑 메모리 8기가가 잡혀있는데 그걸로 인해서..? 라기엔 용량이 너무 큰 상황)
  • 크롬 프로세스와 관련된 무언가(퍼펫티어를 사용해 cpu 자원을 잡아먹는데 이거 때문에 로그를 쌓고 있나?)

 

2. 폴더별 용량 확인

du -h --max-depth=3 | grep [0-9]G

일단 첫번째 원인이 가장 유력해서 1기가 이상을 차지하고 있는 곳을 찾았다 (해당 명령어는 숫자랑 G가 붙어있는 폴더명이 있으면 그것들도 함께 찾아버려 불편함이 있긴하다.)

찾아보니 tmp 쪽에 32기가를 차지하고 있었고 이정도로 차지하고 있을만한게 있나 싶어 보았다.

 

https://wikibook.co.kr/article/when-the-disk-is-full/

찾는 과정에서 해당 블로그를 참고 했는데,

아래와 같은 명령어를 통해 /tmp 경로, duck-root 파일에 파일 용량이 큰 순으로 10개 정리한 걸 볼 수 있다고 한다.(지금은 먼저 원인을 발견해 써보지는 않았다)

cd / sudo

du -ckx | sort -n > /tmp/duck-root

 

아래 명령어로 실행 중인 크롬도 확인해봤는데 소거법을 적용하기 위해서 그냥 첫번째 추정원인을 이어서 마무리해보기로 했다.

ps aux | grep chrome

 

 

3. 확실한 원인 확인

/tmp 경로에 접근했고 똑같이 1기가 이상인 파일을 찾아보니 문제가 없었고, ll 명령어를 통해봤을 때도 문제가 없었나 싶었는데 ls -a 명령어를 쓰고나서 원인을 확실히 파악했다.

퍼펫티어를 서버에서 사용하고 있는데 캐시 파일이 지워지지 않은게 수천개가 넘는다. 자동으로 지워져야할 파일들이 지워지지 않았고 각 하나씩 큰 용량을 차지하지 않지만 모아보면 많은 공간을 차지하고 있던 상황이었다.

파일이 얼마나 될까 싶어 확인해봤는데 1만개가 넘었다.

ls -1a | wc -l

 

 

4. 파일 지우기

해당 파일들을 지울때마다 지우시겠습니까? 와 같은 문구가 뜨기 때문에 아래 명령어를 사용했다(f를 붙여 메시지 없이 삭제하기 때문에 정말 필요할 때만 f를 붙이는것이 좋다)

rm -rf 파일이름

 

 

5. 해결

이렇게 하고 나니 처음 사진과 같이 용량이 확보되었다.

 

 

이전에 DB쪽은 용량을 차지하고 있다고는 뜨는데, 관련된 로그나 파일도 없어서 곤란했었는데 이번에는 나름 쉽게 찾아져 비교적 빠른 시간에 해결되었다.

반응형