![커널과 드라이버가 사용하고 예약한 메모리를 열거하는 방법](https://linux55.com/image/155745/%EC%BB%A4%EB%84%90%EA%B3%BC%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EA%B0%80%20%EC%82%AC%EC%9A%A9%ED%95%98%EA%B3%A0%20%EC%98%88%EC%95%BD%ED%95%9C%20%EB%A9%94%EB%AA%A8%EB%A6%AC%EB%A5%BC%20%EC%97%B4%EA%B1%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
저는 메모리가 0.5GiB인 두 개의 가상 머신(Ubuntu 18.04)을 실행하고 있습니다. 하나는 AWS에 있고 다른 하나는 Azure에 있습니다. 두 시스템 모두 512MiB의 메모리를 가지고 있지만 AWS 시스템에는 479MiB의 사용 가능한 메모리가 있는 것으로 나타났습니다.
~$ free --mebi
total used free shared buff/cache available
Mem: 479 131 17 1 330 334
Swap: 0 0 0
Azure 시스템은 392MiB에 불과합니다.
~$ free --mebi
total used free shared buff/cache available
Mem: 392 289 28 2 74 89
Swap: 0 0 0
두 시스템 사이에서 발견한 가장 큰 차이점은 Azure 시스템이 시작 시 더 많은 메모리를 예약한다는 것입니다.
아마존 AWS:
~$ dmesg | grep "Memory"
[ 0.000000] Memory: 467376K/523892K available (12300K kernel code, 2394K rwdata, 3924K rodata, 2376K init, 2376K bss, 56516K reserved, 0K cma-reserved)
하늘색:
~$ dmesg | grep "Memory"
[ 0.000000] Memory: 376860K/523832K available (14348K kernel code, 2578K rwdata, 4252K rodata, 2320K init, 2296K bss, 146972K reserved, 0K cma-reserved)
각 드라이버, 커널 모듈 및 커널 자체에서 사용하고 예약한 메모리를 열거하는 방법이 있습니까? 아니면 더 광범위하게 Azure VM이 더 많은 메모리를 사용하는 이유를 아는 사람이 있나요?