Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

리눅스를 PC에 설치했는데도 시스템 전체가 여전히 느리게 느껴진다면 그보다 답답한 일은 없습니다. 컴퓨터를 조립, 구매 또는 업그레이드하는 데 비용을 들였다면 당연히 빠른 성능을 기대하게 마련입니다. 하지만 현실은 항상 그렇지 않죠. 다행히 리눅스는 문제의 원인을 직접 진단하고 확인할 수 있는 강력한 도구들을 제공합니다. 이번 글에서는 리눅스 시스템이 느리게 작동하는 원인을 찾아내는 방법을 단계별로 소개합니다.

리눅스 컴퓨터가 느려지는 이유

리눅스 컴퓨터가 느리게 실행되는 주요 원인은 다음과 같습니다.

  • systemd(또는 사용 중인 init 시스템)가 부팅 시 불필요한 서비스까지 함께 시작하는 경우
  • 무거운 애플리케이션 여러 개가 동시에 실행되어 리소스 사용량이 급증한 경우
  • 하드웨어 오작동 또는 잘못된 시스템 설정

속도 개선 방법을 알아보기 전에, 먼저 부팅 시 시작되는 서비스 목록, 프로세스 우선순위, CPU 상태, RAM 사용량, 스왑 메모리 영역의 상태를 확인하는 방법을 익혀야 합니다. 마지막으로 하드 디스크가 정상적으로 작동하는지도 점검해야 합니다.

CPU 정보 확인하기

느린 리눅스 컴퓨터의 속도를 높이려면 가장 먼저 CPU 정보부터 확인해야 합니다. Firefox나 LibreOffice 같은 프로그램을 여는 데 시간이 오래 걸린다면, CPU가 무거운 애플리케이션을 감당하기에 성능이 부족하기 때문일 가능성이 큽니다.

터미널을 열고 다음 명령 중 하나를 실행해 보세요.

cat /proc/cpuinfo
리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법
lscpu
리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

위 명령들은 vendor_id, 모델명(model name), CPU 클럭(MHz), 캐시 크기, 마이크로코드, bogomips 등 CPU에 대한 상세 정보를 표시합니다.

CPU 정보에서 특히 주목해야 할 핵심 항목은 다음과 같습니다.

  • bogomips: 'Bogus Millions of Instructions Per Second'의 줄임말로, 시스템 성능을 간략히 나타내는 지표입니다.
  • model_name: CPU의 제조사, 모델, 클럭 속도를 나타냅니다. 예제에서는 1.73GHz로 작동하는 인텔 셀러론(Intel Celeron) CPU입니다.
  • cpu MHz: 채널, 버스, 컴퓨터 내부 클럭의 전송 속도를 측정하는 단위입니다. 예제 시스템의 경우 1733.329MHz입니다.

여기서 문제가 명확히 드러납니다. 인텔 셀러론 1.73GHz CPU는 처리 능력이 낮은 구형 프로세서입니다. 싱글 코어에 저클럭으로 작동하는 반면, 요즘 출시되는 최신 CPU는 거의 5GHz 클럭에 16코어를 탑재하고 있습니다.

해결 방법

오래되고 느린 CPU를 사용하고 있다면 유일한 근본적인 해결책은 최신 CPU로 교체하는 것입니다. 새 프로세서를 구매할 때 코어 수, 클럭 속도, TDP 등 어떤 사항을 고려해야 하는지 미리 알아두는 것이 좋습니다.

부팅 시 시작되는 서비스 확인하기

부팅 시 자동으로 실행되는 서비스를 확인하는 방법은 여러 가지가 있습니다. 배포판에 맞는 다음 명령 중 하나를 사용하세요.

다음 명령은 부팅 시 시작되는 모든 서비스의 목록을 보여줍니다.

service --status-all
리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

다음 명령 역시 부팅 시 시작되는 서비스를 나열하며, CentOS, AlmaLinux, Fedora, RHEL 계열 배포판과 호환됩니다.

chkconfig --list
리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

Upstart 기반 시스템이라면 다음 명령을 사용할 수 있습니다.

initctl list

initctl은 시스템 관리자가 Upstart 데몬과 통신하고 상호작용할 수 있게 해주는 데몬 제어 도구입니다.

리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

systemd를 사용하는 시스템이라면 다음 명령으로 부팅 시 활성화되는 서비스를 확인할 수 있습니다.

sudo systemctl list-unit-files --state=enabled

해결 방법

systemd를 사용하는 리눅스 배포판이라면 systemctl 명령으로 서비스를 관리할 수 있습니다. 불필요한 서비스를 비활성화하면 부팅 시간이 단축되고 시스템 리소스도 절약됩니다.

CPU 부하 확인하기

부팅 서비스 점검 외에도, 프로세서에 과부하가 걸렸는지 확인할 필요가 있습니다. top 명령이나 기타 시스템 모니터링 도구를 사용하면 실시간 CPU 부하를 파악할 수 있습니다.

top 명령은 리소스를 많이 사용하는 프로세스를 상단에 정렬해서 보여줍니다. 아래 스크린샷처럼 어떤 프로세스가 CPU를 과도하게 점유하는지 한눈에 확인할 수 있으며, 필요하다면 kill 명령으로 해당 프로세스를 종료할 수 있습니다.

리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

해결 방법

너무 많은 애플리케이션(포그라운드와 백그라운드 모두)을 실행 중인데 CPU 성능이 부족하다면, 사용하지 않는 애플리케이션을 종료하는 것이 가장 좋습니다. 백그라운드에서 몰래 실행 중인 불필요한 앱도 함께 비활성화하세요.

또한 preload를 활용하면 자주 사용하는 애플리케이션의 실행 속도를 개선할 수 있습니다. Preload는 백그라운드에서 실행되며 사용자가 자주 실행하는 프로그램을 학습·분석하는 데몬입니다.

터미널을 열고 다음 명령을 실행하세요.

# Ubuntu/Debian
sudo apt install preload
 
# Fedora
sudo dnf install preload

Preload는 설치 후 별도의 설정 없이 백그라운드에서 자동으로 작동합니다. 자주 사용되는 애플리케이션의 일부를 미리 메모리에 올려두어, 해당 프로그램들이 훨씬 빠르게 실행되도록 도와줍니다.

여유 메모리(RAM) 확인하기

RAM은 자주 사용되는 애플리케이션이 저장되는 핵심 공간입니다. free 명령을 사용하면 RAM의 여유 공간 등 메모리 정보를 확인할 수 있습니다. 가용 메모리가 부족하면 컴퓨터 성능에도 직접적인 영향을 미칩니다.

리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

해결 방법

RAM을 추가로 장착하거나, 메모리를 많이 소모하는 애플리케이션을 가벼운 대안으로 교체하는 것이 좋습니다. 예를 들어 LibreOffice는 꽤 많은 메모리를 사용하는 편인데, 이를 대신해 AbiWord 같은 경량 워드프로세서를 사용할 수 있습니다.

하드 드라이브 과부하 여부 확인하기

하드 드라이브 액티비티 램프가 계속 깜빡이는데 정작 무슨 작업을 하는지 모르겠나요? 원인을 알 수 없는 디스크 입출력(I/O)은 시스템 성능 저하의 흔한 원인입니다. 이런 문제를 진단하기 위해 iotop이라는 top 스타일의 전용 도구가 있습니다.

터미널을 열고 다음 명령을 입력해 설치하세요.

# Ubuntu/Debian
sudo apt install iotop
 
# Fedora/CentOS
sudo dnf install iotop

정상적인 유휴 상태의 시스템이라면 아래 스크린샷처럼 대부분의 값이 0으로 표시되고, 데이터가 기록되는 순간에만 잠깐 활동이 나타납니다.

리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

반면 find처럼 디스크 집약적인 유틸리티를 실행하면, iotop에 해당 프로세스의 이름과 디스크 처리량이 명확하게 표시됩니다.

리눅스가 너무 느리게 작동하나요? 느려진 원인을 찾는 방법

이제 어떤 프로그램이 디스크 I/O를 사용하는지, 누가 실행했는지, 데이터 읽기 속도는 얼마나 되는지 등을 손쉽게 파악할 수 있습니다.

마치며

시스템이 느려지는 원인은 매우 다양하지만, 대부분의 성능 문제는 CPU, RAM, 디스크 I/O에서 비롯됩니다. 위에서 소개한 진단 방법들을 활용하면 성능 저하의 원인을 정확히 찾아내고 적절한 해결책을 적용할 수 있습니다.

추가로 우분투 시스템의 전반적인 속도를 높이는 방법도 함께 적용해 보세요. Wi-Fi 연결 문제를 겪고 있다면, 리눅스에서 Wi-Fi가 작동하지 않을 때 이를 해결하는 가이드도 확인해 보시기 바랍니다.