저는 메모리가 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이 더 많은 메모리를 사용하는 이유를 아는 사람이 있나요?