라즈베리파이 4B를 사용하고 있는데 얼마 전부터 엄청 느려지는 현상이 발생했습니다. 구글링을 해봤더니 ssh 설정을 변경해주면 빨라진다는 내용이 있어서 따라 해 봤지만 문제가 해결되지 않았습니다. 네트워크를 통한 ssh 접속뿐만 아니라 TXD0 UART 포트를 통해서 접속한 터미널도 상당히 느렸기 때문에 ssh 설정에 의한 느려짐이라고 보기도 어려웠습니다.
[문제의 현상]
문제의 상황에서는 아주 간단한 쉘 명령도 뚝뚝 끊기면서 상당한 인내심을 요하더군요. 특별히 묵직하게 수행하는 Job도 없는데 Quad-Core의 CPU가 거의 먹통이 될 정도로 느려지는 게 좀 이상했습니다. 이 상황에서 녹색 ACT LED가 항상 점등이 되더군요.
혹시나 해서 sudo apt-get update 명령으로 패키지를 업데이트해보려고 했는데 아래와 같은 에러가 발생하면서 패키지 목록 업데이트도 안되더군요.
ubuntu@ubuntu:~$ sudo apt-get update
Hit:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease
Err:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease
Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal_InRelease into data and signature failed
Hit:2 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Err:2 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-updates_InRelease into data and signature failed
Hit:3 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Err:3 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-backports_InRelease into data and signature failed
Hit:4 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease
Err:4 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease
Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-security_InRelease into data and signature failed
Reading package lists... Error!
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://ports.ubuntu.com/ubuntu-ports focal InRelease: Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal_InRelease into data and signature failed
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease: Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-updates_InRelease into data and signature failed
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease: Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-backports_InRelease into data and signature failed
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://ports.ubuntu.com/ubuntu-ports focal-security InRelease: Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-security_InRelease into data and signature failed
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/focal/InRelease Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal_InRelease into data and signature failed
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/focal-updates/InRelease Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-updates_InRelease into data and signature failed
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/focal-backports/InRelease Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-backports_InRelease into data and signature failed
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/focal-security/InRelease Splitting up /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_focal-security_InRelease into data and signature failed
W: Some index files failed to download. They have been ignored, or old ones used instead.
E: Write error - write (28: No space left on device)
E: IO Error saving source cache
E: The package lists or status file could not be parsed or opened.
에러 메시지를 좀 더 자세히 살펴보니 "No space left on device"가 보입니다.
SD 카드에 남은 공간이 없어서 발생한 문제일 것 같다는 느낌이 들었습니다.
[문제의 원인]
df -h 명령으로 파티션을 살펴봤더니 root 디렉터리의 사용률이 100%에 도달했네요.
ubuntu@ubuntu:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 782M 5.6M 776M 1% /run
/dev/mmcblk0p2 3.4G 3.4G 0 100% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/loop0 49M 49M 0 100% /snap/core18/1883
/dev/loop2 60M 60M 0 100% /snap/lxd/18152
/dev/loop4 27M 27M 0 100% /snap/snapd/10709
/dev/loop1 49M 49M 0 100% /snap/core18/1949
/dev/loop3 62M 62M 0 100% /snap/lxd/19040
/dev/loop5 26M 26M 0 100% /snap/snapd/8543
/dev/mmcblk0p1 253M 96M 157M 38% /boot/firmware
tmpfs 782M 0 782M 0% /run/user/1000
애당초 4GB짜리 SD카드를 가지고 Ubuntu Server Linux를 돌리겠다는 생각 자체가 다소 무리였던 것 같기도 하네요.
[문제의 해결]
문제를 해결하는 방법은 2가지가 있습니다. 첫 번째 해결책은 용량을 확보하는 것입니다. sudo apt-get clean 명령을 이용해서 몇 백 MB정도의 용량을 확보할 수 있었습니다.
또 다른 문제의 해결 방법은 아주 간단합니다. 더 많은 용량의 SD 카드를 사용하는 것입니다. 16GB짜리 USB Stick을 구해서 그곳에 Ubuntu Server를 설치하고 부팅했더니 느려지는 문제없이 정상적으로 잘 동작하더군요. 아무리 용량을 적게 차지하는 Ubuntu Server라도 용량을 좀 넉넉하게 확보해두는 것도 좋을 것 같습니다.
이상입니다.
'Study > 라즈베리파이 공부' 카테고리의 다른 글
[Raspberry Pi] Is it possible to run x86 or x86-64 binary on ARM machine like Raspberry Pi? (0) | 2021.02.02 |
---|---|
[라즈베리파이] ACT LED가 5번 깜빡이면서 부팅 불량시 조치사항 (0) | 2021.02.01 |
[라즈베리파이] UART 시리얼 포트로 터미널 접속 방법(Headless 환경) (0) | 2021.01.26 |
[라즈베리파이] LED 4번 깜빡이는 부팅불량 발생시 조치방법 (0) | 2021.01.25 |
[라즈베리파이] 현재 GPIO 출력값을 읽어와 토글 시키는 방법 (0) | 2021.01.24 |