이 글을 통해 m1 맥의 8기가 램이 상상 이상으로 적다는 사실을 알아냈고, 그 이후부터는 사실상 거의 직업병에 가깝게 병적으로 메모리 상태를 확인해가면서 맥을 썼다. 아예 한 쪽 모니터 구석에 Activity Monitor를 띄워놓고 프로세스의 메모리 점유율을 보면서 작업했으니, 메모리 상황에 집착하면서 썼다고 봐야겠지.

한 달 동안 m1 맥미니 8기가 램 모델을 쓰면서 한 번도 전원을 끄지않았다. 사파리, 크롬, 파이어폭스 등의 웹브라우저들을 번갈아가면서 써봤으며, 종종 램 사용량이 큰 프로그램들을 껐다키기도 하면서 몇 가지를 알아냈다. 물론 맥 OS의 메모리 관리법이 다른 운영체제들과 비교해서 좀 독특한 점이 있다는 건 알고있었지만, 이것이 사람마다 장점이 될 수도 있고 단점이 될 수도 있는 부분이어서 장단점으로 표기하기보단 그냥 알게된 점을 나열해본다.

  1. 어떤 프로그램이든 계속 띄워놓으면 메모리 사용량이 점점 늘어난다. 예를 들어, Slack 같은 채팅 프로그램의 경우 오래된 채팅 기록을 알아서 정리해줌에도 불구하고 메모리 사용량은 점점 커져갔으며, Sublime Text3 같은 프로그래밍 에디터 또한 작업이 끝난 파일을 닫아주더라도 늘어난 메모리 사용량은 줄어들지 않았다. 맥미니를 재부팅하여 필요한 프로그램을 띄웠을 때는 스왑이 500메가 미만이었지만, 한 달이 된 지금 시점에서는 같은 프로그램만 썼음에도 스왑이 4기가 가까이 되고 있다.
  2. 애초에 메모리가 8기가 밖에 되지 않으므로, iStat Menu 등의 하드웨어 자원 감시 프로그램 등에서 여유 메모리를 보는 것은 의미가 없다고 판단하여 메모리의 압력 (Pressure) 즉, 현재 메모리에 얼마나 많은 부하가 일어나는지를 보는 것이 더 의미가 있겠다고 판단하여서 보고있는데, 슬랙, 프로그래밍 에디터, 터미널, 아이튠즈, 카톡, 웹브라우저만 사용함에도 불구하고 메모리 부하는 50% 밑으로 떨어져본 적이 없으며, 심지어 프로그래밍 에디터에서 열어놓은 파일이 20개도 되지 않고 크롬에서 열어놓은 탭이 5개 정도 밖에 되지 않음에도 불구하고 메모리 부하는 생각보다 컸다. 이는 아마도 램 자체가 적기 때문에 생기는 문제로 보인다.
  3. 프로그램을 완전히 종료하더라도, 일단 메모리 내 캐싱된 데이터는 바로 삭제되지 않는 듯 싶다. 크롬으로 유튜브를 보다가 메모리 사용량을 확인하니 크롬에 유튜브 동영상 하나만 띄워놨음에도 불구하고 메모리를 1.5기가 정도를 사용하고 있다고 나오길래, 크롬을 완전히 종료해봤더니 스왑 메모리나 메모리 사용량, 캐쉬 용량 등은 변화가 없었다. 이는 아마도 맥OS만의 메모리 관리 특징인, 프로그램을 종료하더라도 다음에 프로그램 실행시 빠른 속도로 실행할 수 있게끔 캐싱된 메모리를 삭제하지 않는 방식에서 나오는 현상인듯 싶다.
  4. 크롬으로 유튜브를 보면서 램 사용량을 확인하고 크롬을 종료한 뒤, 파이어폭스를 띄워서 유튜브를 봤는데 램 사용량이나 스왑 용량의 변화가 없었는데 이 부분은 좀 이해할 수 없었다. 분명 캐싱된 크롬의 데이터를 램에 보관 중이라면, 새로운 프로세스인 파이어폭스의 데이터를 램에 올리고 다른 데이터를 스와핑 해야하는데, 스왑 용량의 변화가 아예 없었다.
  5. smartctl로 확인한 쓰기 데이터의 한 달 데이터는 약 1 TB 정도였다. SSD의 수명을 대략 300 TBW 정도로 잡는다면, 예상 수명은 약 300 개월, 약 25년 정도 되니까 수명은 무리가 없어보였다.

지금까지는 시스템에 최대한 부하를 주지 않을려고 노력하면서 써왔다. 예를 들면, 웹브라우저의 탭도 최소한으로 열고, 메모리를 많이 쓸 것 같은 프로그램은 가능하면 쓰지 않으려고 노력했으며, 대체가 가능한 프로그램들은 다른 프로그램으로 대체하면서 써왔다. 이제 다음 테스팅(?) 과정으로 m1 맥미니를 재부팅하여 이제부터 한 달 간 원래 늘상 쓰던대로 사용을 시작하고 메모리 사용 현황 모니터링 프로그램도 끄고 사용하여, 한 달 후에 어느 정도의 스왑이 켜져있고 메모리 부하는 어느정도인지, 그리고 SSD 쓰기 데이터의 양은 얼마나 되는지 볼 예정이다. 딱 한 가지 예외가 있다면, 예전에는 지메일을 크롬으로 접속하여 웹으로 사용했으나 이메일 클라이언트인 Spark가 상당에 마음에 들어서, 이메일은 이것을 계속 쓰려고 한다. 앞으로 상시 띄워놓고 쓸 프로그램은 다음과 같다.

Google Chrome, Slack, Music, VS Code, iTerm2, Apache Directory Studio, 카카오톡, Nextcloud, Dropbox, DEVONthink 3, Spark, Script Editor.

위의 프로그램을 띄워놓고 1달 간 써본 뒤 다시 포스팅 한다.

한 달 후 결과: smartctl로 확인한 쓰기 데이터의 한 달간 데이터는 0.5 TB 미만으로 나왔다. 스왑용량은 한 달이 거의 다 되어갈 때쯤 6.5 GB 정도로, 신경써서 관리한 것에 비하면 대략 2배 정도 차이가 났다. 이것이 스왑이 더 커지지 않게끔 내가 프로그램 실행 관리를 해서 그런 것인지 아니면 내가 쓰는 프로그램들이 매일 일정하다보니 더 이상 새로운 데이터가 써지지 않아서 그런 것인지는 잘 모르겠다. 계속 지켜봐야할듯.