Высокая скорость ввода-вывода, когда системе не хватает ОЗУ

Вам необходимо избавиться от модуля/драйвера 'nouveau'.

Предполагая, что вы используете gnome, откройте «Программное обеспечение и обновления» -> «Дополнительные драйверы» и измените его на один из «бинарных драйверов NVIDIA»

Если это не сработает для вас, единственный вариант — использовать описанный здесь метод внесения в черный список.

http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

1
22.09.2020, 21:24
2 ответа

iotop сообщит вам, какой процесс выполняет чтение.

Как правило, проблема связана с отсутствием кеша.

Предположим, что процесс последовательно считывает один и тот же файл снова и снова, и это умещается в свободной памяти. Тогда у вас не будет операций ввода-вывода. :Все запросы ввода-вывода будут удовлетворяться дисковым кешем.

Но если в свободной памяти помещается только 90% файла (, т.е. потому что свободной памяти слишком мало ), то вдруг ни один из запросов не будет удовлетворен :Это потому, что алгоритм кэширования использует наименее использовавшийся :Первые 90% умещаются в памяти, но когда считываются последние 10 %, первые 10 % являются наименее использовавшимися и поэтому сбрасываются, чтобы освободить место для последних 10 %.

При повторном считывании первых 10 % следующие 10 % будут наименее использовавшимися и, следовательно, будут сброшены. И так далее.

Вы, вероятно, не сталкиваетесь с такой ситуацией, но, возможно, ваши процессы снова и снова считывают разные части из разных файлов -, что дает аналогичный результат.

2
18.03.2021, 23:05

Вытеснить из памяти можно не только дисковый кеш.

Ядро может удалять страницы запущенных приложений, оставляя только те, которые запущены в данный момент.Это может создать огромное количество операций ввода-вывода для «толстых» приложений, которые должны выполнять много кода.

0
18.03.2021, 23:05

Теги

Похожие вопросы