리눅스 부팅 속도 향상: 불필요한 서비스를 비활성화하여 빠른 시작 가능

리눅스 부팅 속도 향상: 불필요한 서비스를 비활성화하여 빠른 시작 가능

운영체제가 발전함에 따라 백그라운드 서비스의 수가 증가하면서 많은 운영체제가 부담을 안게 됩니다.이러한 서비스는 CPU 자원을 많이 소모하지는 않지만 부팅 시간을 상당히 늘리고 RAM 사용량을 증가시킬 수 있습니다.하지만 오픈소스 운영체제는 사용자가 불필요한 서비스를 비활성화하거나 제거하여 설정을 최적화할 수 있도록 지원합니다.이 가이드에서는 불필요한 서비스를 비활성화하여 Linux 부팅 시간을 최적화하는 방법을 살펴봅니다.

서비스 부하 시간 평가

대부분의 리눅스 배포판에는 Systemd가 기본 초기화 시스템으로 포함되어 있습니다. Systemd에는 부팅 과정 소요 시간과 각 서비스가 시작되는 데 걸리는 시간을 분석할 수 있는 유용한 유틸리티가 있습니다.일부 서비스는 동시에 로드되므로 전체 부팅 시간은 개별 서비스 로드 시간의 합이 아닐 수 있다는 점에 유의해야 합니다.

시작하려면 터미널을 열고 다음 명령어를 입력하세요.

systemd-analyze

Systemd를 사용하여 Ubuntu 시작 시간을 분석합니다.

이 명령어는 리눅스 커널과 주요 시스템 서비스가 초기화되는 데 걸리는 시간을 알려주지만, 데스크톱 애니메이션이나 사용자 애플리케이션 로딩 시간은 포함하지 않습니다.

그래픽 인터페이스 로딩 시간에 대한 자세한 정보를 원하시면 다음을 사용하세요.

systemd-analyze critical-chain graphical.target

Systemd를 사용하여 Ubuntu에서 중요한 그래픽 표시 시간을 분석합니다.

이 명령은 그래픽 대상에 도달하기까지의 서비스 순서를 보여줍니다.이는 유용하지만, 기술적인 이정표일 뿐이며, 이 지점에 도달한 후에도 백그라운드 서비스가 계속 로드될 수 있습니다.

마지막으로, 이 가이드와 가장 관련성이 높은 명령어는 다음과 같습니다.

systemd-analyze blame

서비스 목록을 시작하는 데 걸리는 시간 순으로 표시합니다.

이 명령은 서비스 시작 시간 순으로 서비스를 나열하므로, 사용 중지할 서비스를 식별하고 대상으로 지정할 수 있습니다.화살표 키 또는 +/- PAGE UP키 를 사용하여 목록을 스크롤할 수 있으며 PAGE DOWN, +/- 키를 눌러 q종료할 수 있습니다.

Systemctl을 사용하여 불필요한 서비스 비활성화

snapd제공된 분석 결과를 통해, 특히 기존 하드 드라이브에서 로딩 속도가 느린 서비스가 발견될 수 있으며, 이러한 지연이 누적되어 심각한 문제를 야기할 수 있습니다.

snapd예를 들어, 컨테이너화된 애플리케이션 관리를 담당하는 서비스가 사용 목적에 필요하지 않다고 판단되면 다음 명령을 실행하여 해당 서비스를 비활성화할 수 있습니다.

sudo systemctl disable snapd.service

snapd비활성화한 후에도 소켓 활성화 기능으로 인해 특정 상황에서는 여전히 시작되는 것을 볼 수 있습니다.이 기능은 비활성화 상태와 관계없이 필요에 따라 실행될 수 있도록 합니다.

남아있는 종속성을 추가로 조사하려면 다음 명령을 실행할 수 있습니다.

systemd-analyze blame | grep snap

비활성화된 경우에도 실행될 수 있는 종속성 항목 표시

이 명령은 시작 시간에 계속 영향을 미치는 스냅 관련 구성 요소를 강조 표시합니다.

소켓 활성화 서비스 처리

를 포함한 여러 서비스에서 snapd소켓 활성화 방식을 사용합니다.이 방식을 사용하면 서비스가 현재 비활성화된 상태이더라도 통신 요청을 수신하면 자동으로 실행될 수 있습니다.

재부팅 후에도 문제가 지속되는 경우, 이는 종종 또는 snapd와 같은 관련 장치 때문일 수 있습니다.이러한 경우에는 마스킹을 통해 서비스를 완전히 차단하는 것이 좋습니다.snapd.socketsnapd.seeded.service

sudo systemctl mask snapd.service sudo systemctl mask snapd.socket

마스킹을 사용하면 서비스가 아예 시작되지 않도록 효과적으로 차단할 수 있습니다.하지만 특히 시스템 관리나 애플리케이션 설치에 Snap을 사용하는 배포판의 경우 주의해야 합니다.

서비스를 “비활성화”하는 것과 “마스킹”하는 것에는 중요한 차이가 있습니다.비활성화는 단순히 systemd에게 해당 서비스가 자동으로 시작되지 않도록 지시하는 것이지만, 마스킹은 한 단계 더 나아가 서비스 실행 자체를 완전히 차단합니다.일반적으로 비활성화만으로도 충분하지만, 비활성화되었음에도 불구하고 계속해서 재시작되는 서비스의 경우에는 마스킹이 더 효과적입니다.

또한, 서비스를 비활성화할 때는 다음과 같이 안전하게 끌 수 있는 다른 필수적이지 않은 서비스도 검토해 보는 것이 좋습니다.

avahi-daemon.service ModemManager.service thermald.service

서비스를 비활성화하기 전에 항상 철저한 조사를 수행하십시오.데스크톱 환경에서는 불필요하다고 여겨지는 서비스가 노트북이나 서버에서는 필수적일 수 있습니다.

결론

불필요한 서비스 수를 줄이면 부팅 시간을 크게 단축하고 리소스 할당을 최적화할 수 있으며, 특히 기존 하드 드라이브 사용자의 경우 더욱 효과적입니다. SSD 기반 시스템에서도 사용하지 않는 서비스를 최소화하면 깔끔하고 효율적인 운영 환경을 유지하는 데 도움이 됩니다.

Stacer 와 같은 그래픽 애플리케이션은 시스템 서비스 관리에 도움이 될 수 있지만, 기능이 제한적이거나 구식이 될 수 있습니다.거의 모든 배포판에서 일관된 제어를 위해서는 명령줄 도구인 systemctl이 여전히 가장 신뢰할 수 있는 도구입니다.

출처 및 이미지

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다