Назад | Перейти на главную страницу

Что означает номер в системе Linux?

Мы можем увидеть некоторые параметры, введя «iostat -x -d», rrqm / s и wrqm / s означают слияние для запросов ввода-вывода в секунду. И есть параметр ядра, управляющий слиянием ввода-вывода:

/ sys / класс / блок / имя-устройства / очередь / номера

Согласно Kernel Doc:

Это позволяет пользователю отключить логику поиска, связанную с запросами слияния ввода-вывода на блочном уровне. По умолчанию (0) все слияния включены. Если установлено значение 1, будут выполняться попытки простого слияния с одним нажатием. Если установлено значение 2, никакие алгоритмы слияния не будут пробоваться (включая одноразовый или более сложные поиски дерева / хэша).

Значение 0 и 2 легко понять, но когда дело доходит до 1 с «одним нажатием», я искал в Google, но не было конкретного семантического определения этого. Пожалуйста, помогите объяснить, что именно означает 1 для nomerges. Спасибо.

0 выполняет как простую проверку смежных запросов, так и поиск в структуре данных, 1 выполняет только простую проверку, а 2 не выполняет слияния. Посмотрите на реализацию block / elevator.c в elv_merge ().

Вам необходимо протестировать тяжелую рабочую нагрузку случайного ввода-вывода, чтобы понять, выиграет ли она от отключения слияния. Слияние варианта 2 показало, что пропускная способность на процессорное время увеличилась на доли процента с 2 по сравнению с 1: block: добавлена ​​более строгая семантика без слияния для блочного ввода-вывода

Даже вариант 0 стоит довольно дешево, и множество запросов смежно. Возможно, вам не нужно это менять.