Invocando a compactação de memória nos kernels do kernel 2.6.35 e além

3

Este artigo do LWN sobre compactação de memória indica que a compactação de memória pode ser invocada no kernel do Linux

Writing a node number to /proc/sys/vm/compact_node, causing compaction to happen on the indicated NUMA node.

Quando devo escrever o número do nó na entrada sys? Quero dizer, o que devo detectar ou ler e depois escrever o nó na entrada sys? Qual deve ser meu critério e como devo medir esse critério antes de gravar a entrada do sistema?

(…) The other is for the system to fail in an attempt to allocate a higher-order page; in this case, compaction will run as a preferable alternative to freeing pages through direct reclaim. In the absence of an explicit trigger, the compaction algorithm will stay idle; there is a cost to moving pages around which is best avoided if it is not needed.

O que significa permitir que o sistema falhe? Falha de que maneira? Como posso detectar essa falha? Por falha, isso significa uma solicitação simples para alocar uma página de pedido mais alta, que foi negada? Neste caso, o algoritmo de compactação é executado automaticamente, por si só?

Meu requisito: gostaria de acionar a compactação de memória obtendo uma ideia do estado do sistema e da fragmentação de memória no sistema. E gostaria de saber com certeza que a compactação ajudará antes de executá-lo.

    
por abc 06.03.2013 / 15:46

1 resposta

2

Na maioria das vezes, as alocações de memória interna do kernel têm menos de uma página, ou podem ser contíguas apenas na memória virtual, não na memória real. O que o documento diz é que, no caso de uma alocação de página de ordem superior falhar (ou seja, o kernel pede várias páginas contíguas na memória real ), a compactação é acionada automaticamente. Isso é bastante incomum, por isso não deve acontecer com frequência.

A menos que você tenha a necessidade do kernel ter páginas contíguas disponíveis, e medições mostrarem que isso é crítico para o desempenho (ou pelo menos relevante) para sua carga de trabalho, é melhor deixar os dedos desligados.

    
por 06.03.2013 / 17:29