É possível distribuir a carga de maneira balanceada entre as partições de swap?

1

Digamos que eu tenha duas partições de troca, /dev/sdb and /dev/sdc , onde /dev/sdb é 4 vezes mais rápido em termos de E / S do que /dev/sdc . É possível configurá-lo de tal forma que quando o sistema operacional decide que tem 5 MB de conteúdo de RAM para trocar, ele direciona 4 MB para /dev/sdb e 1 MB para /dev/sdc para fornecer velocidade de troca ideal?

    
por Krzysiek Setlak 18.01.2017 / 21:55

1 resposta

2

Se /dev/sdb for 4 vezes mais rápido que /dev/sdc , será mais rápido preencher /dev/sdb antes de começar a /dev/sdc .

Tenha em mente que não é apenas dividir leituras e gravações sequenciais; Há também latências de busca, tempos de spin-up de disco e sincronização dos dois discos, de modo que um escreve quatro partes enquanto o outro escreve um. O rendimento seqüencial pode, teoricamente, ser maior, mas não é prático.

Dito isso, as partições de swap montadas têm prioridades . Se você deseja montar suas duas partições de troca para que /dev/sdb seja usado primeiro e, em seguida, /dev/sdc , considere este exemplo:

sudo swapon -p 10 /dev/sdb
sudo swapon -p 5  /dev/sdc

Em /etc/fstab , você passaria a opção pri para definir a prioridade, assim:

/dev/sda none swap defaults,pri=10 0 0
/dev/sdb none swap defaults,pri=5  0 0

Como um exemplo prático, você gostaria de fazer isso se estivesse usando zram . Como o zram é muito mais rápido que os discos rígidos e os drives de estado sólido, você gostaria que suas partições de troca de zram fossem usadas primeiro. Aqui, você pode ver os quatro dispositivos zram preferidos para o dispositivo lento /dev/zd16 :

deltik@node51 [~]$ swapon -s
Filename                Type        Size    Used    Priority
/dev/zd16                               partition   8388604 0   -1
/dev/zram0                              partition   1524800 275252  5
/dev/zram1                              partition   1524800 275400  5
/dev/zram2                              partition   1524800 276296  5
/dev/zram3                              partition   1524800 275392  5

(No Ubuntu, o zram swap é convenientemente fornecido pelo pacote zram-config .)

Mesmo que /dev/zram* sejam ordens de magnitude mais rápidas que /dev/zd16 sequencialmente, eu não desejaria equilibrar a carga de trabalho porque /dev/zd16 procura um caminho mais lento que /dev/zram* do.

    
por 18.01.2017 / 23:49