Если вы не укажете O_DIRECT
, то запросы ввода/вывода отправляются в кэш страниц. Когда этот кеш записи записывается обратно на устройство, ядро по возможности использует большие записи.
(Я не уверен, будут ли они считаться объединенными записями или нет.)
Размер операций записи, генерируемых управлением памятью ядра, может быть ограничен рядом различных переменных.
В частности:Почему размер моих запросов ввода-вывода ограничен примерно 512 КБ?
По приведенной выше ссылке очень длинный анализ. Но в результате, когда ваша физическая оперативная память становится фрагментированной, ядро может найти для использования только отдельные страницы, а не физически смежные прогоны нескольких страниц. Затем размер отдельного IO был ограничен максимальным размером «списка разброса/сбора».
У меня также возникла проблема с моим дополнительным графическим процессором после обновления системы, и я решил ее с помощью этого решения здесь:
Мне пришлось вручную настроить VGA-устройство, добавив BusID в/etc/bumblebee/xorg.conf.nvidia
Используйте lspci|grep VGA
для получения BusID устройства, которое не определяется автоматически:
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
Затем добавьте BusID в раздел «Устройство» в файле /etc/bumblebee/xorg.conf.nvidia
BusID "PCI:01:00:0"