Como migrar todas as páginas de memória de um processo de um nó NUMA para outro nó NUMA?

10

No Linux, quero migrar as páginas de memória de uma máquina virtual KVM de um nó NUMA para outro nó NUMA em tempo de execução. Mas não consigo encontrar nenhuma interface para fazer isso no hypervisor KVM ou usando a API libvirt. Então tentei usar a função numa_migrate_pages em -lnuma e migrar as páginas de memória do processo da VM. Mas descobri que a função numa_migrate_pages só pode migrar algumas páginas, mas não pode migrar todas as páginas. Por exemplo, o texto abaixo mostra a distribuição de páginas de memória desse processo de VM:

Node0:  0             pages
Node1:  1538          pages
Node2:  270641        pages
Node3:  552           pages

E eu quero migrar todas as páginas do Nó2 para o Nó0. Mas depois de usar a função numa_migrate_pages , apenas algumas páginas são migradas, como mostra o texto abaixo:

Node0:  7952          pages
Node1:  1538          pages
Node2:  262113        pages
Node3:  552           pages

Em seguida, abro o arquivo /proc/[pid of VM process]/numa_maps e descubro que a maioria das páginas restantes no Nó2 são páginas anônimas e sujas:

7f572c000000 default anon=262143 dirty=262143 N2=262113 ...

Então, por que todas as páginas do Nó2 não podem ser migradas para o Nó0? Qual é o problema aqui?

    
por Jenson 14.06.2016 / 03:18

1 resposta

1

Você deseja o binário migratepages no pacote numactl .

Uso & Exemplo

sudo migratepages $VM_PID $SRC_NODE $DEST_NODE
sudo migratepages 12345 2 0

Limitações

hardware da VM

As páginas podem ser bloqueadas para um nó, por exemplo. se eles estão relacionados à passagem de hardware e representam hardware localizado em um nó específico.

Memória livre & Tamanho da página

Você obviamente precisa de memória livre suficiente no nó de destino, mas também não precisa estar muito fragmentado para mover páginas grandes. Se uma das páginas for uma alocação contígua de grande ordem, e a memória livre do nó de destino não tiver regiões livres grandes o suficiente, a movimentação da página grande poderá falhar (dependendo da compactação sendo acionada e sucessiva).

    
por 14.05.2017 / 00:11

Tags