인터넷 브라우징용으로 늘 구글 크롬을 사용해 왔습니다. 가장 큰 이유는 단연 빠른 속도 때문입니다. 각종 부가 기능으로 무거워진 파이어폭스는 썩 마음에 들지 않았고, 인터넷 익스플로러는 그저 느리기만 했으니까요.
마이크로소프트 엣지는 IE보다 상당히 빨라졌지만, 구글 서비스를 워낙 많이 활용하다 보니 결국 다시 크롬으로 돌아오게 됩니다. 참고로 파이어폭스의 새 버전인 퀀텀(Quantum)은 크롬보다 빠르다는 평가를 받고 있어, 브라우저 전환을 고민해 볼 만한 선택지이기도 합니다.
처음 크롬을 접했을 때는 깔끔하고 단순한 인터페이스와 놀라운 브라우징 속도에 매료되었습니다. 그러나 고사양 PC에서 몇 달간 크롬을 집중적으로 사용한 뒤부터는 탭을 열면 웹페이지가 로딩되기까지 몇 초간 하얗게 비어 있거나, 전반적으로 반응이 느려지는 현상이 나타나기 시작했습니다.
크롬 작업 관리자로 원인 파악하기
문제를 추적하기 위해 크롬 자체 작업 관리자를 열어 어떤 프로세스가 실행 중인지 살펴보았습니다. 결과는 충격 그 자체였습니다.
무려 35개의 구글 크롬 프로세스와 5GB가 넘는 메모리 사용량! 스크린샷을 찍을 당시 탭을 16개 열어 두긴 했지만, 모두 동영상 재생이나 애니메이션이 없는 정적인 페이지였습니다. 대체 왜 35개의 프로세스와 수 GB의 메모리가 필요한 걸까요?
각 프로세스의 정체를 확인하려면 크롬 제목 표시줄의 빈 곳(탭이 아닌 영역)에서 마우스 오른쪽 버튼을 클릭한 뒤 작업 관리자를 선택하면 됩니다.
여기에서 크롬 내부에서 실행 중인 개별 프로세스(작업)를 모두 볼 수 있습니다. 확인 결과 꽤 놀라운 사실이 드러났습니다.
브라우저 자체가 하나의 프로세스를 차지하고, 각 탭마다 독립된 프로세스가 생성됩니다. 여기에 웹 앱, GPU, 그리고 활성화된 확장 프로그램과 플러그인 하나하나까지 각각 별도의 프로세스로 실행되고 있었습니다!
구글의 공식 설명에 따르면, 이렇게 요소들을 분리하는 이유는 브라우저 안정성을 높이기 위해서라고 합니다. 예를 들어 플래시 플러그인이 충돌하더라도 열려 있는 다른 탭이나 브라우저 전체가 함께 종료되지 않도록 하는 것이죠.
오랫동안 크롬을 사용해 온 경험으로도 이는 사실임을 알 수 있습니다. 특정 탭 하나가 죽어도 해당 탭만 닫으면 나머지 탭은 정상적으로 계속 사용할 수 있었고, Shockwave가 멈춰도 그 탭만 강제 종료하면 다른 모든 기능이 멀쩡히 작동했습니다.
그렇다면 프로세스를 여러 개로 나누는 방식이 예전 방식보다 추가 메모리를 더 소모하는 것일까요? 조사해 본 바로는, 프로세스 수를 줄이더라도 플러그인과 확장 프로그램이 사용하는 메모리는 그대로라서 차이가 미미하다고 합니다. 새 프로세스를 생성할 때 드는 오버헤드도 아주 적은 편입니다.
작업 관리자에서 subframe: https://accounts.google.com 같은 항목을 본 적이 있을 겁니다. 처음에는 지메일 탭을 열어 두어서 그런가 싶었지만, 실제로는 전혀 다른 이유 때문이었습니다. 구글은 일부 콘텐츠를 올바르게 격리하기 위해 별도의 프로세스로 분리하는데, 이 때문에 일부 웹사이트가 독립된 탭 프로세스가 아니라 이런 서브프레임(subframe) 형태로 표시되는 것입니다.
크롬 메모리 사용량 줄이는 실전 방법
그렇다면 크롬이 사용하는 메모리를 줄일 방법은 없을까요? 제 경우 가장 효과가 컸던 것은 모든 사이트에서 플래시를 완전히 차단한 것이었습니다. '실행 전에 확인' 설정 대신 완전히 끄자 메모리 사용량이 눈에 띄게 줄었습니다.
플래시를 완전히 비활성화하려면 설정으로 이동한 뒤 맨 아래의 고급을 클릭하고, 개인정보 및 보안 섹션에서 콘텐츠 설정을 선택하세요. 이후 Flash 항목에서 사이트에서 Flash 실행 차단이 선택되어 있는지 확인하면 됩니다.
이 한 가지만으로도 1GB 이상의 메모리를 절약했습니다. 생각지도 못하게 여러 웹사이트가 플래시를 사용하고 있었는데, 막아 놓아도 사이트들은 문제없이 작동해서 계속 비활성화 상태로 두었습니다. 참고로 플래시는 이미 2020년 말 공식 지원이 종료된 기술이므로, 최신 환경에서는 굳이 허용할 필요가 거의 없습니다.
메모리를 줄이는 또 다른 방법은 확장 프로그램을 정리하는 것입니다. 특히 사용하지 않는 확장 프로그램은 삭제하는 것이 좋습니다. 가끔씩만 필요한 확장 프로그램이라면 완전히 삭제하지 않고 비활성화만 해두는 방법도 있습니다.
확장 프로그램을 비활성화하면 메모리를 점유하지 않습니다. 마지막으로 크롬에는 GPU 프로세스라는 항목도 있는데, 이는 기본적으로 활성화되어 있는 것이 좋습니다. 하드웨어가 지원한다면 크롬은 일부 작업을 CPU보다 빠르고 효율적인 GPU에 위임하는데, 이를 하드웨어 가속이라고 부릅니다. 굳이 끄고 싶다면 설정에서 맨 아래로 스크롤하여 시스템 항목에서 해제할 수 있습니다.
단, 하드웨어 가속을 끄면 크롬 사용 경험이 다소 느려질 수 있으니 이 점은 감안해야 합니다.
마무리 정리
크롬이 RAM을 너무 많이 잡아먹는다고 느껴진다면, 먼저 작업 관리자를 열어 과도하게 메모리를 사용하는 확장 프로그램을 찾아 비활성화해 보세요. 저 같은 경우에는 애착이 있던 확장 프로그램이 2013년 이후 업데이트되지 않은 것이 문제였고, 바로 그것이 메모리를 많이 잡아먹는 원인이었습니다. 리소스를 과도하게 소모하는 확장 프로그램이 꼭 필요한 게 아니라면 과감히 꺼두는 것이 쾌적한 브라우징의 지름길입니다. 그리고 플래시는 정말 필요한 경우가 아니라면 비활성화해 두세요. 즐거운 브라우징 되시길 바랍니다!