맥 운영체제의 타임머신 기능은 별다른 설정이나 조건 없이 백업이 자동으로 이뤄진다는 점에서 매우 편리하고 유용한 기능입니다.
하지만 타임머신을 처음 이용할 때 그 엄청나게 느린 속도에 속 터지는 경험을 유발하기도 합니다. 백업 용량에 따라, 외장하드를 케이블로 연결했냐 네트워크 드라이브를 사용하냐에 따라 차이가 있지만 첫 번째 백업은 반나절은 기본이고, 어쩔 땐 24시간이 부족한 경우도 있죠.
집에 놓고 사용하는 아이맥은 타임머신을 켜놓고 신경을 끄고 있어도 되지만, 맥북은 자칫 백업을 처음부터 다시 해야 할 수도 있으므로 최초 백업이 시작하면 옴짝달싹 못하는 신세가 되어버리기도 합니다. 또 기껏 세팅을 마친 맥북의 타임머신 백업이 거의 끝날 찰나에 맥북을 밖에 들고 나가야 할 일이 생기면 짜증이 확 밀려오기도 하구요. 타임머신 백업을 처음 사용하는 분은 한 번쯤 경험해 보셨을 겁니다.
물론, 첫 번째 백업을 완료하기만 하면 나중에 추가된 데이터에 대해서만 증감 백업이 이뤄지기 때문에 백업 시간이 크게 단축됩니다. 또 타임머신으로 옮길 데이터를 맥북 디스크에 미리 만들어 놓기 때문에 휴대도 자유로워집니다.
타임머신 백업이 느린 이유
그러면 타임머신의 첫 번째 백업은 왜 이렇게 시간이 오래 걸리는가? 여러 가지 이유가 혼재되어 있습니다.
기본적으로 최초 백업해야 할 용량이 수십~수백 기가에 이르는 이유도 있고, 증감 백업을 위해 데이터 구조를 최적화시키는 작업에도 많은 시간이 소요되기 떄문입니다.
아울러 이런 작업으로 인해 컴퓨터 성능이 저하되는 것을 방지하기 위해 기본적으로 타임머신은 CPU 사용에 제한*을 받습니다. 즉, 타임머신은 당장 사용하지 않는 컴퓨터의 잉여 자원만을 이용해 데이터를 처리합니다. 덕분에 사용자는 타임머신이 작동하는지도 모르고 맥을 쓸 수 있게 되는 거죠. 백업 때문에 다른 작업에 영향을 주지 않게 한 것은 애플 개발팀이 머리를 아주 잘 쓴 부분입니다. *스로틀(Throttle)
스로틀링을 의한 타임머신 백업 속도 비교
타임머신 백업 속도가 느린 세 가지 이유 중에서 첫 번째와 두 번째는 어찌할 방도가 없습니다.
백업 시간을 아끼자고 아무 데이터나 막 지울 수도 없는 노릇이고, 타임머신의 매커니즘이 애초에 그러한 것을 어쩌겠습니까. 하지만 세 번째 이유인 '스로틀링'은 사용자의 의도에 따라 조절할 수 있습니다. 그리고 그 효과도 상당합니다.
아래 사진은 아무런 설정을 건드리지 않은 상태(스로틀이 적용되는 상태)에서 타임머신 최초 백업을 수행할 때의 예상 시간입니다. 약 400GB의 데이터를 백업하는 데 11시간의 정도의 시간이 걸린다고 안내됩니다. 물론 도중에 예상 시간이 더 늘어날 수 있다는 것도 고려해야 합니다. ▼
시간은 오래 걸리지만 CPU 사용량은 높지 않습니다. 타임머신이 진행될 때의 CPU 사용량은 최대치의 25% 미만입니다. ▼
그런데 위와 같은 환경에서 스로틀을 제거하면 타임머신 백업 예상 시간이 1/3 수준으로 뚝 떨어집니다. ▼
*백업 용량이 90MB 더 늘어난 이유는 이 글을 작성한다고 스크린을 찍었기 때문. 그 외의 환경은 동일
제가 한 테스트에선 1/3 수준으로 시간이 줄었지만, 해외에선 72시간 걸리던 작업이 4시간이 줄었다는 사례도 보입니다. 수치뿐만 아니라 체감 성능도 빨라서, 스로틀이 걸릴 때는 진행 상태바가 얼어있나 싶을 정도로 움직임이 굼뜨지만 스로틀을 없애면 진행 상태바가 초 단위로 쑥쑥 올라가는 것을 볼 수 있습니다.
그 대신 타임머신이 CPU를 마음대로 사용할 수 있게 되면서 CPU 부하가 크게 증가합니다. 이 때문에 다른 응용 프로그램의 반응 속도가 느려지고, 맥북도 많이 뜨거워집니다. ▼
터미널 명령어로 타임머신 프로세스 우선순위 높이기
결론적으로 CPU 부하에 상관 없이 타임머신 백업을 최대한 빠르게 수행하고 싶다면, 특히 첫 번째 백업을 빠르게 완료하고 싶다면 위와 같이 타임머신 프로세스에 걸린 스로틀을 제거하는 게 큰 도움이 될 수 있습니다. 이 작업은 터미널 명령어로 간단히 적용할 수 있습니다.
주의: 이 명령어는 타임머신의 작동 매커니즘을 건드리는 게 아니라 단순히 그 매커니즘이 얼마나 많은 시스템 자원을 사용할 수 있는가만 바꾸는 명령어입니다. 따라서 백업 작업의 안정성과는 연관이 없습니다. 그렇더라도, 만에 하나 발생할지 모르는 문제 대한 책임은 각 사용자에게 있다는 점 미리 말씀드립니다.
응용 프로그램 > 유틸리티 폴더에 있는 '터미널'을 실행한 뒤 아래 명령어를 입력합니다. ▼
sudo sysctl debug.lowpri_throttle_enabled=0
그리고 터미널 명령어를 입력하면 그 즉시 스로틀이 제거되며, 맥을 재부팅하면 명령어가 초기화되면서 효과가 없어집니다. 따라서 명령어 입력 후 맥을 다시 시작해선 안되며, 타임머신 백업을 시작하기 전에 명령어를 입력해야 합니다.
운영체제 재부팅 후에도 효과 유지하기
타임머신 기능의 단점인 최초 백업시 시간이 오래 걸리는 문제는 위의 명령어만으로도 아주 큰 효과를 볼 수 있습니다. 십 수시간이 걸릴 작업을 몇 시간 만에 완료할 수 있죠. 하지만 최초 백업 이후의 증감) 백업은 비교적 시간이 적게 걸리기 때문에 명령어를 계속 사용할 필요는 없습니다. 타임머신 백업 시간 절약한다고 스로틀을 없애면 다른 컴퓨터 작업이 답답해질 겁니다.
권장사항은 아니지만 원한다면 맥이 시작할 때마다 위의 명령어를 자동으로 입력하게 할 수 있습니다.
1. 우선 아래 명령어를 입력해 터미널 기반의 텍스트 에디터인 'Nano'를 실행합니다. ▼
sudo nano /Library/LaunchDaemons/speedup-timemachine.plist
2. Nano가 열리면 이 ➥페이지에 있는 소스코드를 복사해 에디터 안에 붙여넣습니다. ▼
3. 에디터에서 작성한 프로퍼티리스트를 저장하기 위해 control + O 키를 입력한 뒤( command 키가 아닙니다) 엔터 키를 눌러줍니다. 그리고 control + X 키를 눌러 에디터에서 빠져 나옵니다. ▼
4. 계속해서, 위에서 만든 프로퍼티리스트를 시스템 런치 프로세스로 등록하기 위해 아래 명령어를 넣어줍니다. ▼
sudo chown root /Library/LaunchDaemons/speedup-timemachine.plist;sudo launchctl load /Library/LaunchDaemons/speedup-timemachine.plist
5. 이제 맥을 껐다가 다시 켜도 타임머신 기능에 대한 스로틀이 걸리지 않습니다. 만약 스로틀을 걸어주는 시스템 기본 상태로 복구하고 싶다면 터미널에 아래 명령어를 넣어준 뒤 맥을 다시 시작하면 됩니다.
sudo launchctl unload -w /Library/LaunchDaemons/speedup-timemachine.plist;sudo rm -rf /Library/LaunchDaemons/speedup-timemachine.plist
참조
• GitHub - fix-el-capitan-slow-time-machine-speed.plist
• StackExchange - Time Machine ridiculously slow after El Capitan upgrade
관련 글
• 맥에서 타임머신 백업 작업이 실패하거나 "백업 준비 중..."에서 멈추는 문제
• OS X 타임머신에 하나 이상의 백업 디스크를 추가하는 방법과 장점