Memory size inside alpine container

Alpine container (all versions):
free shows the total host memory size (172G), while cat /proc/meminfo shows the right size assigned to container (2G).
Is there a way to fix the free output?

~ # free -k
total used free shared buff/cache available
Mem: 180853344 38433768 142092080 4768 327496 1942432
Swap: 10485756 26468 10459288

~ # cat /proc/meminfo
MemTotal: 1953124 kB
MemFree: 1939532 kB
MemAvailable: 1942436 kB

This yet another question, by swapping profile for a running container, extended memory and storage took effect immediately, but number CPU only applied after a reboot. Is that expected behavior?

I believe this is because the free command in Alpine does not look at /proc/meminfo and instead uses a syscall, which cannot be “faked” by LXCFS like it can with /proc/meminfo.

The limits themselves are still applied though.