Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
Hypervisor의 OverCommit가상화의 핵심인 하이퍼바이저는 자원을 극한으로 효율적으로 사용하기 위해 OverCommit 기능을 사용한다. VM들이 모두 같은 자원량을 나누어 사용한다고 가정해 보자.이 기능을 사용하면, 하이퍼바이저가 물리 호스트의 자원을 정확히 VM 개수만큼 N등분하지 않고 N개 이상의 VM을 동작시킨다. 사실 모든 VM이 자원을 100% 활용하지 않기 때문에, AWS와 같은 CSP 입장에서는 자원을 1:1 크기로 예약해 두면 유휴 자원이 발생한다. 이러한 자원 낭비를 막고자 물리적인 컴퓨팅 자원보다 VM들에게 더 많은 CPU와 메모리를 프로비저닝 하게 된다. 이를 Overcommit이라고 한다. CPU overcommitCPU overcommit은 CPU 자원을 물..
왜 CloudWatch가 EC2 Memory 모니터링을 제공하지 않을까? EC2에서 CloudWatch는 CPU와 네트워크 정보는 기본적으로 수집을 제공한다.반면에 Memory와 Disk 정보에 대해서는 CloudWatch Agent를 OS에 추가로 설치해야만 수집할 수 있다. CPU까지는 기본적으로 수집할 수 있는데, 왜 Memory는 추가적인 소프트웨어를 설치해야만 수집할 수 있는 것일까?핵심적인 원인은 Hypervisor Level과 OS Level에서 수집할 수 있는 정보의 차이다. CPU는 Hypervisor Level 하이퍼바이저는 기본적으로 물리적 Host의 CPU 사용을 VM마다 적절히 분배해야 한다.Guest OS는 하이퍼바이저에게 제공받는 시간만큼의 CPU를 사용하기 때문..