-
É difícil determinar exatamente quantos contêineres você pode executar porque você não sabe até executá-los e eles começaram a usar a RAM. O Linux aloca RAM apenas para um processo quando realmente o usa, não quando ele solicita. É por isso que você pode executar VMs de 235,5 GB (92 x 2560 MB) em apenas 47 GB de RAM + 47 GB de troca.
-
Sim. VMs e contêineres são processos do Linux como qualquer outro. Eles podem e serão trocados quando algo exigir RAM.
-
Eu recomendo strongmente habilitar o zswap no seu servidor, para que o linux comprima os dados trocados, primeiro na RAM e depois (quando estiver ficando cheio) na partição swap no disco. por exemplo,
# enable zswap
echo 1 > /sys/module/zswap/parameters/enabled
# set it to use lz4 (or use gzip for better compression but more CPU usage)
echo lz4 > /sys/module/zswap/parameters/compressor
# set maximum allowed percentage of RAM to use for swap
echo 50 > /sys/module/zswap/parameters/max_pool_percent
BTW, para ver quanto espaço de troca está sendo usado no momento, execute swapon
sem argumentos. ou execute top
ou htop
.