1

Допустим, у меня есть два раздела подкачки, /dev/sdb and /dev/sdc, где /dev/sdb в 4 раза быстрее с точки зрения ввода / вывода, чем /dev/sdc. Можно ли настроить его таким образом, чтобы, когда ОС решает, что у нее есть 5 МБ содержимого оперативной памяти для выгрузки, она направляет 4 МБ этого объема в /dev/sdb и 1 МБ в /dev/sdc для обеспечения оптимальной скорости обмена ?

1 ответ1

2

Если /dev/sdb в 4 раза быстрее, чем /dev/sdc , будет быстрее заполнить /dev/sdb прежде чем начинать с /dev/sdc .

Имейте в виду, что это не просто разделение последовательных операций чтения и записи; также есть задержки поиска, время раскрутки диска и синхронизация обоих дисков, так что одна записывает четыре части, а другая - одну. Последовательная пропускная способность теоретически может быть выше, но это не практично.

Тем не менее, смонтированные разделы подкачки имеют приоритеты. Если вы хотите смонтировать два раздела подкачки так, чтобы сначала использовался /dev/sdb , а затем /dev/sdc , рассмотрите этот пример:

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

В /etc/fstab вы должны передать параметр pri чтобы установить приоритет, например:

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

В качестве практического примера вы могли бы сделать это, если бы вы использовали zram. Поскольку zram намного быстрее, чем жесткие диски и твердотельные накопители, вы бы хотели, чтобы ваши разделы подкачки zram использовались первыми. Здесь вы можете увидеть четыре устройства zram, предпочитаемых медленному устройству /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

(В Ubuntu zram swap удобно предоставляется zram-config .)

Несмотря на то, что /dev/zram* на несколько порядков быстрее, чем /dev/zd16 последовательно, я бы не хотел балансировать рабочую нагрузку, потому что /dev/zd16 ищет намного медленнее, чем /dev/zram* .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .