운영체제가 발전함에 따라 백그라운드 서비스의 수가 증가하면서 많은 운영체제가 부담을 안게 됩니다.이러한 서비스는 CPU 자원을 많이 소모하지는 않지만 부팅 시간을 상당히 늘리고 RAM 사용량을 증가시킬 수 있습니다.하지만 오픈소스 운영체제는 사용자가 불필요한 서비스를 비활성화하거나 제거하여 설정을 최적화할 수 있도록 지원합니다.이 가이드에서는 불필요한 서비스를 비활성화하여 Linux 부팅 시간을 최적화하는 방법을 살펴봅니다.
서비스 부하 시간 평가
대부분의 리눅스 배포판에는 Systemd가 기본 초기화 시스템으로 포함되어 있습니다. Systemd에는 부팅 과정 소요 시간과 각 서비스가 시작되는 데 걸리는 시간을 분석할 수 있는 유용한 유틸리티가 있습니다.일부 서비스는 동시에 로드되므로 전체 부팅 시간은 개별 서비스 로드 시간의 합이 아닐 수 있다는 점에 유의해야 합니다.
시작하려면 터미널을 열고 다음 명령어를 입력하세요.
systemd-analyze

이 명령어는 리눅스 커널과 주요 시스템 서비스가 초기화되는 데 걸리는 시간을 알려주지만, 데스크톱 애니메이션이나 사용자 애플리케이션 로딩 시간은 포함하지 않습니다.
그래픽 인터페이스 로딩 시간에 대한 자세한 정보를 원하시면 다음을 사용하세요.
systemd-analyze critical-chain graphical.target

이 명령은 그래픽 대상에 도달하기까지의 서비스 순서를 보여줍니다.이는 유용하지만, 기술적인 이정표일 뿐이며, 이 지점에 도달한 후에도 백그라운드 서비스가 계속 로드될 수 있습니다.
마지막으로, 이 가이드와 가장 관련성이 높은 명령어는 다음과 같습니다.
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이 여전히 가장 신뢰할 수 있는 도구입니다.
답글 남기기