MacOS 를 오랫동안 사용하게 되면 윈도우 PC와 마찬가지로 다양한 프로그램 설치와 더불어 시작프로그램이 다양한 형태로 등록되게 됩니다. 이런것들이 가비지하게 쌓이고 쌓이다보면 사용하지 않는 시작프로그램 혹은 백그라운드 프로그램들이 CPU와 메모리 자원을 소모하면서 컴퓨터를 느려지게 만들겠죠?
오늘은 맥에서 이렇게 PC를 느려지게 만들 수 있는 원인들을 확인해보고, 그것을 비활성화 하거나 삭제 할 수 있는 방법을 알아보도록 하겠습니다.
Login Items 삭제 또는 추가
기본적이고 단순한 방법으로 맥에 로그인 하는 유저별 시작 프로그램을 정리하는 방법입니다.
System Preference > Users & Groups 이동. 자신이 사용하는 사용자명 클릭 > Login Items 선택
여기서 필요없는 시작프로그램을 – 를 클릭하여 삭제하거나 필요한 시작프로그램을 + 버튼을 클릭하여 추가하시면 정리 하실 수 있습니다.
Launchctl 유틸을 이용한 시작서비스 활성/비활성 또는 제거 추가
Login Items 에서는 일반적인 시작프로그램들을 정의 할 수 있지만 그 외 서비스 형태로 시작되는 데몬들은 Login Items 에서 추가하거나 삭제 할 수 없습니다. 이 때 사용하는 유틸은 Launchctl 이라는 CLI 명령어 입니다. 명령어를 입력하고 리부팅하여 확인해보면 unload 시킨 서비스와 관련된 프로그램은 PC시작시 자동시작되지 않음을 확인 할 수 있습니다. 이 명령어의 사용법은 아래와 같습니다.
사용자와 상관없이 시작되는 서비스 (데몬)
사용자와 상관없이 글로벌 설정으로 시작되는 서비스는 /Library/LaunchAgents 에서 서비스파일 (plist)를 확인 할 수 있습니다. 폴더에 포함되어 있는 plist 를 확인하여 자신이 해제할 데몬 또는 서비스명과 일치하는지 확인합니다.
사용자별 시작되는 서비스 (데몬)
특정 사용자로 로그인시에만 시작되는 서비스는 Users/사용자명/Library/LaunchAgents/ 에서 서비스파일 (plist)를 확인 할 수 있습니다. 폴더에 포함되어 있는 plist 를 확인하여 자신이 해제할 데몬 또는 서비스명과 일치하는지 확인합니다.
시작서비스 해제 (unload) 방법
글로벌 서비스 시작해제시 launchctl unload -w /Library/LaunchAgents/서비스 네임.plist 특정유저 서비스 시작해제시 launchctl unload -w /Users/유저명/Library/LaunchAgents/서비스 네임.plist
시작서비스 재설정 (load) 방법
글로벌 서비스 시작해제시 launchctl load /Library/LaunchAgents/서비스 네임.plist 특정유저 서비스 시작해제시 launchctl load /Users/유저명/Library/LaunchAgents/서비스 네임.plist
Launchctl 을 이용하여 시작서비스 (데몬) 확인
현재 서비스 형태로 활성화되어 있는 plist 서비스들은 아래 명령을 통하여 확인 할 수 있습니다. 하기의 서비스들은 OS레벨에서 필요로 하는 내용도 있으며 해제시 부팅이 되지 않을 수도 있으니 launchctl 유틸은 꼭 자신이 설치한 어플리케이션 중에서 시작서비스를 해제 할 때만 사용하도록 합시다.
❯ launchctl list PID Status Label 579 0 com.apple.trustd.agent - 0 com.apple.MailServiceAgent - 0 com.apple.mdworker.mail - 0 com.apple.mdworker.shared.0E000000-0000-0000-0000-000000000000 - 0 com.apple.mdworker.shared.04000000-0000-0000-0000-000000000000 - 0 com.apple.cvmsCompAgent3425AMD_i386 - 0 com.apple.cvmsCompAgent3425AMD_i386_1 60674 0 com.apple.cfprefsd.xpc.agent - 0 com.apple.SafariHistoryServiceAgent - 0 com.apple.progressd 860 0 com.devon-technologies.think-sorter.42092 68378 0 com.apple.Finder 634 0 com.apple.homed 682 0 com.apple.SafeEjectGPUAgent - 0 com.apple.quicklook - 0 com.apple.parentalcontrols.check - 0 com.apple.PackageKit.InstallStatus - 0 com.apple.mediaremoteagent - 0 com.apple.FontWorker 613 0 com.apple.bird - 0 com.apple.familycontrols.useragent - 0 com.apple.AssetCache.agent - 0 com.apple.universalaccessAuthWarn 620 0 com.apple.nsurlsessiond - 0 com.apple.syncservices.uihandler 600 0 com.apple.iconservices.iconservicesagent - 0 com.apple.ContactsAgent 10424 0 com.apple.SafariBookmarksSyncAgent
이상으로 Launchctl 유틸에 대해서 알아보았습니다. Launchctl 유틸에서 사용하지 않는 시작서비스만 제거해도 맥의 상태가 상당히 쾌적해짐을 확인 하실 수 있을 겁니다!