Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Зависание при вытеснении данных в своп в случае с btrfs в качестве корневой fs  (Прочитано 1723 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн iEvgeny

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Приветствую!
Уже довольно долго бьюсь с одной маленькой, но весьма неприятной проблемой.
При использовании btrfs в качестве корневой fs в ситуации, когда "заканчивается" физическая память и ОС пытается ее освободить начиная вытеснять данные в своп, система практически перестает реагировать на что-либо. В зависимости от того, насколько много было запрошено памяти приложением, система может "отвиснуть" через несколько минут или, например, при попытке выделения большого непрерывного куска памяти (запуск виртуалки, попытка открыть большую картинку в GIMP), система практически зависает как минимум на час. Собственно, в последних случаях обычно не удается дождаться возобновления нормальной работы и приходится жестко перезагружать машину.
Сразу обращу внимание на тот факт, что знаю, что btrfs не поддерживает файлы подкачки, потому во всех случаях использую отдельный раздел.
Данные симптомы проявляются на двух рабочих станциях с совершенно разным железом. Объединяет их только наличие btrfs в качестве корневой fs, ssd и, разумеется, ОС. Долго грешил на ssd, пробовал zswap и zram, всячески менял политики управления памятью и свопом, результат аналогичен - едва данные их памяти начинают вытесняться в своп, система практически встает колом и в те редкие моменты, когда htop оживает, можно видеть la выше 60.
В итоге заметил, что на третьей рабочей станции, где была примерно аналогичная конфигурация оборудования, в том числе ssd, а также версия ОС, подобных симптомов нет. Можно открыть хром с кучей вкладок и при этом запустить виртуальную машину, отъедающую памяти практически на 70% от объема физической, машина продолжает работать как ни в чем не бывало. Лишь едва подтормаживая. Своп при этом забит 3-4 Гб данных. Единственное значимое отличие в конфигурации в этом случае было то, что в качестве корневой fs была ext4...
Немедленно провел эксперимент, который заключался в том, что я перевел одну из проблемных машин на ext4 методом простого копирования файлов на другой диск с последующей правкой grub. И о чудо! От вышеописанных симптомов не осталось и следа. Отсюда можно сделать вывод, что как минимум одной из причин подобного поведения является btrfs.
Проблему можно было считать решенной, но очень не хотелось бы отказываться от btrfs в силу некоторых ее уникальных возможностей. Потому прошу уважаемых форумчан посильно помочь, так сказать, с моей проблемой. Ибо куда дальше копать ума не приложу.
« Последнее редактирование: 07 Января 2019, 00:07:32 от iEvgeny »

Dzhoser

  • Гость
https://help.ubuntu.ru/wiki/btrfs
Внимательно читаем раздел Отключение COW

Оффлайн iEvgeny

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Эмм... Отключить COW для всего корня? Тогда проще на ext4 остаться.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
не для корня, а для конкретно виртуалок COW лучше отключать
Цитировать
Большие файлы, которые постоянно изменяются, например виртуальные диски VirtualBox или файлы скачиваемые через torrent, особо подвержены фрагментации. Для таких файлов рекомендуется отключить copy-on-write.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн iEvgeny

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Разумеется, для виртуалок COW отключен. Дело совсем не в нем. Скорость работы виртуальных машин на btrfs меня вполне устраивает. Не устраивает зависание машины при вытеснении данных из оперативной памяти в своп. И не важно чем это спровоцировано. Можно просто открыть кучу вкладок в единственно запущенном экземпляре браузера и как только система предпримет попытку освободить память, вытесняя неиспользуемые страницы в своп, машина встает колом.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
Да у вас просто оперативка забита почти до предела. Неудивительно, что при обращении к SWAP всё тупить начинает.
free -mвсё покажет
(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
СВАП ФАЙЛ НА BTRFS СОЗДАВАТЬ НЕЛЬЗЯ!
Создайте отдельный свап-раздел.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн DimanBG

  • Старожил
  • *
  • Сообщений: 1316
    • Просмотр профиля
Создайте отдельный свап-раздел.
Сразу обращу внимание на тот факт, что знаю, что btrfs не поддерживает файлы подкачки, потому во всех случаях использую отдельный раздел.

Dzhoser

  • Гость
Долго грешил на ssd, пробовал zswap и zram, всячески менял политики управления памятью и свопом, результат аналогичен - едва данные их памяти начинают вытесняться в своп, система практически встает колом
Можете настройки вернуть по умолчанию?
Покажите при зависании
cat /proc/meminfoСколько памяти выделяется в виртуалках?

Оффлайн maks05

  • Старожил
  • *
  • Сообщений: 6786
    • Просмотр профиля
iEvgeny, а оперативки у вас сколько? Может её просто добавить?

Dzhoser

  • Гость
« Последнее редактирование: 07 Января 2019, 10:42:49 от Dzhoser »

Оффлайн iEvgeny

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
И пожалуйста, если у вас есть доступ к компьютеру - не надо фотографировать экран, достаточно выделить и скопировать текстовую информацию.
Вы серьезно?!
Лично я не представляю как можно это сделать при la 60+ на двухъядерной машине.

Пользователь добавил сообщение 07 Января 2019, 11:43:35:
iEvgeny, а оперативки у вас сколько? Может её просто добавить?
Данная проблема проявляется на двух рабочих станциях с 4Gb и 8Gb оперативной памяти.
На самом деле, я не зря так распинался в первом посте. При переносе текущей системы на ext4 данная проблема бесследно исчезает.
« Последнее редактирование: 07 Января 2019, 11:43:35 от iEvgeny »

Оффлайн maks05

  • Старожил
  • *
  • Сообщений: 6786
    • Просмотр профиля
la 60+ на двухъядерной машине.
Хорошо бы понять, что это такое... Но вообще, почти всё, что отображает Терминал, можно выделить и скопировать через буфер обмена. Да, htop - интерактивная штука и просто так не копируется. Но для этого есть скриншоты - PrintScreen (Meta+PrintScreen для снимка окна в KDE) ни кто не отменял. Так что делать снимок фотоаппаратом даже как-то странно.

Данная проблема проявляется на двух рабочих станциях с 4Gb и 8Gb оперативной памяти.
На самом деле, я не зря так распинался в первом посте. При переносе текущей системы на ext4 данная проблема бесследно исчезает.
4Gb для виртуалок по нынешним временам маловато, да и для серьёзной работы с фотографиями - впритык (хотя я когда-то умудрялся и на 2GB редактировать. Но сейчас припоминаю, что у меня когда-то тоже стояла btrfs и тоже были тормоза на 8Gb, при том в самый непредсказуемый момент, даже не зависимо от загрузки ОЗУ. Было это ещё на Кubuntu 16.04. Перешёл на ext4 и всё стало нормально. Чего и вам желаю.
« Последнее редактирование: 08 Января 2019, 06:26:45 от maks05 »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
Лично я не представляю как можно это сделать при la 60+ на двухъядерной машине.
watch top > ./somefile
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Ales07

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Имею аналогичную проблему. Тоже пока не могу решить, что делать.

 

Страница сгенерирована за 0.048 секунд. Запросов: 25.