The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Обновление Debian 12.1, opennews (??), 22-Июл-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


14. "Обновление Debian 12.1"  +6 +/
Сообщение от Аноним (14), 23-Июл-23, 00:08 
> Всё летает и работает стабильно.

Справедливое высказывание для 99% дистров с дефолтными настройками. И вообще любой дистр это всего лишь набор софта поверх стандартного ядра с нескучными обоями и скинами.

Ответить | Правка | Наверх | Cообщить модератору

35. "Обновление Debian 12.1"  +2 +/
Сообщение от Аноним (-), 23-Июл-23, 02:19 
> всего лишь набор софта поверх стандартного ядра с нескучными обоями и скинами.

Это не соответствует действительности: конфиг ядра дистров здорово отличается от платформенного defconfig. Более того - defconfig для майнлайна на x86(-64) никто не использует. Так что у всех дистров ядра уж точно не "стандартные", они сами их конфигурят в меру своих талантов. И совсем не факт что еще какой-то дистр обладает точно таким же ядерным .config - соответственно сказка технически некорректная получилась.

Ответить | Правка | Наверх | Cообщить модератору

138. "Обновление Debian 12.1"  +1 +/
Сообщение от Аноним (138), 23-Июл-23, 16:26 
Проблеме лет 20, но какой дистр не возми те же грабли. (Привет баг 12309)
Огромный дисковый кеш на запись (нет это никак не ускорит нормально написанные программы) , начало свопинга на 50% от памяти.
В дебиане как и в бубунте еще и выключен  REISUB и узнаете вы об этом лишь в момент когда он понадобится.

/etc/sysctl.conf

###################################################################
# Magic system request Key
# 0=disable, 1=enable all, >1 bitmask of sysrq functions
# See https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html
# for what other values do
kernel.sysrq=1


# This fix enormous big dirty bytes (16 gb system vm.dirty_background_bytes 3.2 Gb ??? )
# 64  mb - when system starts writing to disk  64*1024*1024
# 256 mb - when system limits io to device speed 256*1024*1024
# Guys from SUSE recommends keep this in proportion 1:2 - 1:4
# Ubuntu guys recommends to set this even lower 16 and 42 Mb but well...
# This emulates near 1 gb ram default behaviour

#let only 64 mb of pages in ram before writing to disk on background
vm.dirty_bytes = 67108864
#let only 256 mb of pages in ram before blocking i/o to write to disk
vm.dirty_background_bytes = 268435456

## use this on low ram machile (32 and 64 mb)
#vm.dirty_bytes = 33554432
#vm.dirty_background_bytes = 67108864

#* 0  : swap is disabled
#* 1  : minimum amount of swapping without disabling it entirely
#* 10 : recommended value to improve performance for typical desktop usage (consider trying 15 20 30 values do increase disk cache size)
#* 60 : default value
#* 100: aggressive swapping
vm.swappiness = 10

А и да OOM киллер в дебиане по умолчанию не стоит, забили память - велком в полный зависон систеемы. В убунте стоит поделие от системды которое работаает через зад и убивает проги когда ему захочется. (Earlyoom поможет)

Ответить | Правка | Наверх | Cообщить модератору

174. "Обновление Debian 12.1"  +/
Сообщение от Аноним (-), 23-Июл-23, 18:44 
> Проблеме лет 20, но какой дистр не возми те же грабли. (Привет баг 12309)

У лично меня нет никакого бага 12309. Его починили ...цать лет назад. Есть некоторые другие вещи которые могут вызывать похожие эффекты но это не имеет никакого отношения к тому что в 12309 описано.

> Огромный дисковый кеш на запись (нет это никак не ускорит нормально написанные
> программы)

Вообще-то для тормозных устройств сейчас ядро как раз размер кеша стало лмитировать. Вот как раз поэтому. С разморозочкой, годиков так 10 в криокамере провели? Сейчас год 2023, а ядро в разработке - версии 6.5.

> начало свопинга на 50% от памяти.

Вообще-то это настраивается. В том числе и - внезапно - в разных дистрах может быть по разному.

> В дебиане как и в бубунте еще и выключен  REISUB и
> узнаете вы об этом лишь в момент когда он понадобится.

Вроде таки не совсем выключен. Да и включается легко. Впрочем я себе ядра сам собираю, и там прям в дефолтах вот как раз оно разрешено. Или к вопросу о ядрах и конфигах.

> vm.dirty_bytes = 67108864

Ну это совсем уж настройка для тетрисов каких-то. С ноутбучным механическим винчом или SD картой с записью 2 мега в секунду. Видите ли, запись больших файлов в жирный RAM это все же хорошо если это не системный диск и/или носитель не тормоз. Но можно конечно смотреть на прогресс этой операции в блокирующем режиме медленно и печально.

> #* 0  : swap is disabled

А вот своп лучше не использовать совсем. Особенно на механических дисках. Вы и правда хотите RAM эмулировать "патефоном"? Скорость его работы не идет ни в какое сравнение. Лучше нарулите zram если с памятью душняк, "холодные" страницы вывалятся в сжатую часть, доступной чему-то используемому RAM станет больше. Zram с lzo+rle или lz4 почти не тормозит и не протирает ssd. И работает даже на мипсовом роутере с 32 мег, "добавляя" ему RAM, что там на вес золота.

> А и да OOM киллер в дебиане по умолчанию не стоит, забили
> память - велком в полный зависон систеемы.

Чокаво?! Ядро при окончании RAM само пристреливает жирдяя. Но если у вас огромный своп на механическом диске - этого момента можно и подождать в интервале от 30 секунд до бесконечности. А если это SSD + zram то это выглядит так: система начинает немного тупить, несколько секунд. Тынц! И жирный процесс улетает. Чтобы всякие иксы не улетели, или что там вам нужно - им oom score неплохо б подрихтовать.

> от системды которое работаает через зад и убивает проги когда ему
> захочется. (Earlyoom поможет)

Ох да, сперва создалим себе проблему, потом еще и займем системной памяти решалкой проблемы. Вместо того чтобы систему настроить нормально чтобы это все не требовалось.

Ответить | Правка | Наверх | Cообщить модератору

274. "Обновление Debian 12.1"  +1 +/
Сообщение от leap42 (ok), 24-Июл-23, 07:28 
> Ну это совсем уж настройка для тетрисов каких-то. С ноутбучным механическим винчом
> или SD картой с записью 2 мега в секунду. Видите ли,
> запись больших файлов в жирный RAM это все же хорошо если
> это не системный диск и/или носитель не тормоз. Но можно конечно
> смотреть на прогресс этой операции в блокирующем режиме медленно и печально.

Вы вообще не понимаете, как это работает. Кэширование на запись в опертивке не даёт ничего хорошего для не IDE дисков. Физическое устройство не становится магически быстрее, сколько в память не пиши. При этом имеет кучу минусов: потенциальная потеря данных при сбое электропитания или kernel panic, откладывает запись под нагрузкой до достижения dirty_background_ratio/dirty_background_bytes из-за механики последних, лаги при вызове fsync, лаги при дефиците свободной оперативки.

Торвальдс (он придумал эту систему) использует 48мб/16мб на своём железе (оно у него кстати быстрое). И это хороший выбор, правда я сам после тестов и бенчмарков пришёл к 64мб/32мб для dirty_bytes и dirty_background_bytes соответственно. Ещё Торвальдс называет безумием всё, что больше 200мб/100мб на любой системе. И его можно понять: причины по которым нам ещё нужны грязные странички - исторические, этот буфер активно используется драйверами стораджа (точно знаю, что btrfs очень активно использует).

Ответить | Правка | Наверх | Cообщить модератору

312. "Обновление Debian 12.1"  –1 +/
Сообщение от Аноним (-), 24-Июл-23, 18:09 
> Вы вообще не понимаете, как это работает. Кэширование на запись в опертивке
> не даёт ничего хорошего для не IDE дисков.

Я прекрасно понимаю что оно дает мне "моментальное" завершение операции (RAM цуко быстрый) а потом оно там где-то в фоне, ядром, но программа уже считает миссию выполненной и отваливает в туман, кроме каких-то специальных случаев. Это делает интерфейс человек-машина неблокирующим. Хоть и ценой требования слива кешей до размонтирования.

> Физическое устройство не становится магически быстрее, сколько в память не пиши.

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

Пример: если в RAM улетел файл и его страницы, а потом им попользовались и он уже был стерт, но еще не до конца физически записан - тадам - можно вообще не записывать вон те страницы которые не успели дописаться. И вот тут это уже конкретная оптимизация по времени по сравнению с честной сериализацией операций "сперца целиком записать, потом стереть (например временный файл)". Актуально для всяких темпфайлов и подобной байды, которые могут всю свою короткую жизнь провести в буфере и вообще не успеть записаться.

> При этом имеет кучу минусов: потенциальная потеря данных при сбое электропитания
> или kernel panic,

Если у вас слетит питание в середине операции записи - вы всяко поимеете определенные проблемы с этого. И потеря данных не хучший вариант если файло откатится в старый консистентный вид допустим. Намного хуже если будет полу-перезаписаный файл на inplace файлухе. ЭТО вообще потом читаться и пониматься софтом не обязано.

А так есть тулса sync и соотв системные вызовы, типа fsync где это важно было.

> откладывает запись под нагрузкой до достижения dirty_background_ratio/dirty_background_bytes
> из-за механики последних, лаги при вызове fsync, лаги при дефиците свободной
> оперативки.

Величина лагов определяется соотношением того что висит в буфере и скоростью накопителя.

> Торвальдс (он придумал эту систему) использует 48мб/16мб на своём железе (оно у
> него кстати быстрое).

Это какого года сведения, на минуточку? У него сейчас EPYC и быстрые ссдшники как железо вероятно и вон то на таком сетапе - вообще ни о чем.

> И это хороший выбор, правда я сам после тестов и бенчмарков пришёл к 64мб/32мб
> для dirty_bytes и dirty_background_bytes соответственно.

Эта серия бенчмарков включала себя допустим создание темпфайлов и их стирание - заценить как оно на разных файлухах? Чтобы еще и вон тот механизм оптимизации с отбрасыванием недописанных страниц потестить? :)

> Ещё Торвальдс называет безумием всё, что больше 200мб/100мб на любой системе.

Опять же - в каком году? Что такое 100 мегов для скоростных SSD на сверхбыстрых интерфейсах? Хоть тот же NVMe - сто мегов не заметит даже.

> И его можно понять: причины по которым нам ещё нужны грязные
> странички - исторические, этот буфер активно используется драйверами стораджа (точно знаю,
> что btrfs очень активно использует).

Btrfs в общем случае тоже использует ту механику страничного кеша. По поводу чего прекрасно живет даже на роутере с 64 метрами оперативы - в отличие от ZFS :). И btrfs уж точно не "драйвер стоража".

Ответить | Правка | Наверх | Cообщить модератору

350. "Обновление Debian 12.1"  +/
Сообщение от leap42 (ok), 25-Июл-23, 07:43 
> Я прекрасно понимаю что оно дает

ну давайте проверим

> И хотя железо быстрее не станет, во первых - программы быстрее "отпускает".

Нет, всё с точностью наоборот. Если кто-то просит fsync или буфер наполнился, то все программы блокируются до полного(!) опустошения буфера. Отсюда и брался 12309: никакой софт не мог писать вообще и ждал. Что быстрее запишется 3-6-15GB (дефолт - зависит от размера памяти) или 100MB прежде чем другие программы смогут писать?

> часть операций может быть оптимизирована.

Нет, всё с точность наоборот. Современный сторадж (по сути любой не IDE) имеет контроллер и внутреннюю память. Внутри он сам реорганизует данные так, как надо, оптимизация на стороне ОС ничего не даёт т.к. контроллер о ней не знает и вообще плевать хотел и всё переделает. Более того, современный Linux с nvme ничего и не оптимизирует, он просто валит всё "как есть" "по трубе вниз".

> Актуально для всяких темпфайлов и подобной байды, которые могут всю свою короткую жизнь провести в буфере и вообще не успеть записаться.

Это неактуально вообще. Во-первых это супер-редкий сценарий в принципе. Во-вторых размер временных файлов несущественный (порядок мегабайтов почти всегда) для современных дисков, например nvme.

> Если у вас слетит питание в середине операции записи - вы всяко поимеете определенные проблемы с этого

Тут да, мысль верная, но до верного вывода вы не дошли. Потерять 3 гига или потерять 30 мегабайт это разного порядка проблемы.

> Это какого года сведения, на минуточку?

Последняя публичная дискуссия об этом была по-моему в 2017, через 5 лет после появления nvme. Я ещё раз повторю: ваши тезисы "больше буфер -> выше производительность" и "чем быстрее девайс, тем больше можно иметь буфер" в корне неверные. По сути с большим буфером становятся быстрее только синтетические бенчмарки и всё! Все реальные задачи тормозят. Есть несколько исследований на этот счёт. Помню одно непубличное от разрабов Postgres (но вы можете найти как они после всех тестов советуют УМЕНЬШАТЬ буферы, а для ДБ, сами понимаете, производительность диска решает всё), его ещё публично воспроизводили ребята из IBM, оно было в паблике, возможно найдёте.

> Опять же - в каком году? Что такое 100 мегов для скоростных SSD на сверхбыстрых интерфейсах? Хоть тот же NVMe - сто мегов не заметит даже.

Ещё раз, дело не в скорости диска. Дело в том, что с дефолтами первые 1.5 гига записи диск просто простаивает (background_ratio/background_bytes) ещё не достигнут. Т.е. ядро не пишет на диск в момент интенсивной записи софтом. По этой и другим причинам производительность падает.

> Btrfs в общем случае тоже использует ту механику страничного кеша. По поводу чего прекрасно живет даже на роутере с 64 метрами оперативы

Нет конечно. Вы, как я и говорил, понятия не имеете, как оно работает: https://github.com/pop-os/default-settings/issues/111

> И btrfs уж точно не "драйвер стоража".

Разве что для тех, кто не писал драйвера для ФС

Ответить | Правка | Наверх | Cообщить модератору

374. "Обновление Debian 12.1"  +/
Сообщение от Аноним (-), 26-Июл-23, 01:11 
> Нет, всё с точностью наоборот. Если кто-то просит fsync или буфер наполнился,
> то все программы блокируются до полного(!) опустошения буфера.

1) Вас не смущает что ядро не выбито в камне и эвристика у него на эту тему эволюционирует? Современным ядрам ваша мануальщина вообще не очень уперлась - потому что они сами dirty для медленных сторажей лимитируют. А для быстрых - с большим dirty никаких проблем нет. Представляете?! Напрягает же вот та латенси от операции расчистки памяти. Для современных ядер ваш совет в общем то протух. Хотя если вы друг сэра Поха с вечным полшестого и 2.6.32, тогда конечно вариант.
1.1) Современные ядра, особенно с всякими MGLRU субъективно стали несколько консервативнее в отращивании кешей. При том не сильно в ущерб перфомансу.
2) Если RAM много (e.g. 16..32Gb и более) и много свободной RAM - практически все записи завершаются "со скоростью RAM диска" - и это очень круто. По сравнению с вон тем.
3) А даже если и не завершаются - чем больше буфер тем больше шансов что упомянутая механика сыграет.
4) Единственное что выигрывается это ланенси активно пишущей программы, оно могло интересовать а могло и не интересовать. Для меня это скорее вопрос ухнуло оно мгновенно в буфер, так что я могу продолжить интерактив - или я отсюда сваливаю и занимаюсь чем-то иным.
5) Вы обуваете систему на оптимизации отмены записи стриниц файлов которые решили стереть, типа временных файлов и де-оптимизируете ряд сценариев, налетая на worst case. Когда файл всегда надо целиком записать. Даже если через секунду его сотрут.

> Отсюда и брался 12309: никакой софт не мог писать вообще и ждал.

12309 возникал не так. Там была ситуация: прога хочет себе солидный кус памяти. Оказывается что в системе ща нет RAM. Где его взять? Ага, много dirty, давайте выжмем его на диск и отдатим программе дисковые буфера. Ядро идет их выжимать, в хучшем случае - гигазы dirty на мееееедленный накопитель. Программа которая хотела память все это время висит тряпочкой. Ее нельзя возобновить пока RAM ей не наковыряли. Она упадет. Что врядли лучше. Что еще хуже, другие программы которым понадобилась память тоде могут начать ловить клина по той же механике, пока ядро там не разрулится со своим dirty. Это ведет к ужасной латенси. И это идет дальше чем только записи, это mem management/paging нагибался. А это реальный задник.

Есть куча "похожих на вид" проблем. Но они могут отличаться механикой, а конкретно 12309 - был описан см. выше как, насколько я помню. Если это не оно, окей, может быть у вас какой-то ДРУГОЙ баг. Он должен быть явно заведен с ДРУГИМ номером - потому что это ДРУГАЯ проблема.

Например, если у вас механический диск, вы его озадачили записью в полку и он надрывается, а тут стало с памятью душно, кернел оказывается юзал бинари программ как расширение свопа и мог отбросить страницы памяти, зная что всегда можно подчитать их из файлов бинарей. Это же причина по которой выполняемые файлы перезаписать не дают: эта механика сломается. Можно "стереть" файл но он лишь потеряет имя и будет существовать с 0 имен, его деаллокация только после завершения программы. Вон то может вызвать нехилые тупняки на механическом системном диске озадаченом записью. Но вообще это неудачная конфигурация. Она может встрять по 9000 иных причин. Скажем ожидания чтения конфига программы. Так лучше просто не делать.

> Что быстрее запишется 3-6-15GB (дефолт - зависит от размера памяти) или
> 100MB прежде чем другие программы смогут писать?

Опять же - запись пары гигз на скоростной SSD может и не парить. А вот безусловно деоптимизнуть работу кеша во имя луны - весьма спорная идея.

>> часть операций может быть оптимизирована.
> Нет, всё с точность наоборот. Современный сторадж (по сути любой не IDE)
> имеет контроллер и внутреннюю память. Внутри он сам реорганизует данные так,
> как надо, оптимизация на стороне ОС ничего не даёт

Вы не поняли. Если кернел в фоне все еще писал страницы файла на девайс - и еще не дописал - но write() уже вернулся, прога что-то поделала с файлом и ему вообще unlink() закатила, а кернел еще педалил ту запись - оставшиеся недописанные страницы можно отбросить из буфера НЕ ЗАВЕРШАЯ ЗАПИСЬ. А зачем - если файла уже нет?! В результате суммарный объем записей ниже - "не успели дописать и хрен с ним!". Но "отменить запись" можно только если было что отменять. Т.е. какие-то страницы висели в буфере. А вы как раз это предотвратили и налетаете на worst case когда вы таки пишете ВСЕ страницы. А что это было не надо т.к. файл сотрут вы узнаете опосля. Уже просадив перфоманс. Собссно "delayed writes" с агрессивной и длинной буферизацией основательно оптимизируют IO - отменяя операции ставшие ненужными или сливая много мелких в 1 большую и непрерывную, снижая оверхед а возможно и seeks.

> т.к. контроллер о ней не знает и вообще плевать хотел и всё переделает.

А это вообще не про контроллер было - а про отмену недописаного dirty если поняли что файло вообще снесли. Если меня не подводит склероз такую опмизиацию в ядре сделали. При такой "асинхронщине" записей (оказавшихся ненужными!) в девайс успеет улететь меньше чем в вашем сценарии. PROFIT - меньше IO с ТЕМ ЖЕ суммарным эффектом. Не любая семантика IO прокатит для такого трюка, но для типовых апликух вариант.

> Более того, современный Linux с nvme ничего и не оптимизирует, он
> просто валит всё "как есть" "по трубе вниз".

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

> Это неактуально вообще. Во-первых это супер-редкий сценарий в принципе. Во-вторых размер
> временных файлов несущественный (порядок мегабайтов почти всегда) для современных дисков,
> например nvme.

Для NVME вообще неактуальны предложенные вами величины параметров. Т.к. те объемы вообще не вызывают заметный латенси - зато опять же деоптимизируют записи. Чем больше удалось забуферить тем меньше записей будет в финале и они будут непрерывнее. Да, это идет в ущерб латенси и плохая идея на медленном накопителе, особенно системном. Но NVME не тот случай.

> Тут да, мысль верная, но до верного вывода вы не дошли. Потерять
> 3 гига или потерять 30 мегабайт это разного порядка проблемы.

Если вы перепишете 30 мегов из 5 гигового файла в in-place файлухе, и тут питание гавкнется, вы получите нечитаемый 5-гиговый файл, состоящий из разных головы и хвоста, и софт ЭТО прочитаьт скорее всего уже не сможет. Так что фактический объем потерь вовсе не 30 мегов - а весь 5-гиговый файл. С другой стороны если он весь в буфере висел, возможно он целиком в старом виде останется. Особенно актуально для ФС с cow семантикой, для них отбросить неудавшуюся запись - логичный фикс консистентности ФС, дешево, сердито, и ведет к чуть более старому view файлухи. Но файло имеет все шансы быть консистентным с точки зрения софта: там либо старая версия либо новая. А полупереписанная - в cow так не бывает, это ж не inplace запись а отапдейтить указатели на новый вариант как раз и не успели еще, ну и остался старый.

> -> выше производительность" и "чем быстрее девайс, тем больше можно иметь
> буфер" в корне неверные.

Мой тезис: больше буфер - оптимальнее IO паттерны, меньше оверхед и даже их объем при случае. А чем быстрее девайс - тем более похрен размер буфера. Просто потому что когда кернелу станет надо расчистить ту RAM он _БЫСТРО_ ее выжмет на тот девайс и проблем с латенси не возникнет. Это же элеметарно, Ватсон.

> По сути с большим буфером становятся быстрее только синтетические бенчмарки и всё!

А таки софт практикует самые странные IO и кроме бенчмарков могут и реальные ситуации выиграть. Особенно если рамы много и есть где развернуться с delayed alloc и оптимизациями. На NVME еще и записей будет меньше и они будут оптимальнее сгруппированы в большие сегменты.

> Все реальные задачи тормозят. Есть несколько исследований на этот счёт.

Если стораж быстрый то и выжимка на него более крупного блока занимает умеренное время. И вон те размеры адекватны для какойнить ноутбучной механики но уж точно не про NVME.

> Помню одно непубличное от разрабов Postgres (но вы можете найти как они после
> всех тестов советуют УМЕНЬШАТЬ буферы,

Активное использование больших баз данных - это специфичный топик. У баз могут быть свои кеши, лучше знающие что и как оно там хотело и может иметь смысл дать базе больше RAM а общий кеш урезать. Аналогичные соображения есть еще в некоторых вещах, типа качки торентов. И в этом месте вы начинаете наверное уже догадываться на кой черт мог быть нужен Direct IO (unbuffered IO). Иногда он бывает полезен, если у вас есть app-level cache специфичный для задачи и лучше, не хотилось выносить системные кеши, и/или вы уверены что запись будет большая и непрерывная. У меня есть и кейс без кеша но с большими непрерывными сегментами (запись специфичных паттернов оптом) - где direct IO получило свой пойнт.

> а для ДБ, сами понимаете, производительность диска решает всё), его ещё
> публично воспроизводили ребята из IBM, оно было в паблике, возможно найдёте.

Для больших активных БД соотношения иные чем для десктопника. И это вообще специфичный топик. Если бы вы сказали тот тюнинг для сервера БД, а потом еще внутренние кеши бд отожрать по максимуму, я бы и не возражал возможно. Но мы вроде про другие сценарии тут говорили...

> Ещё раз, дело не в скорости диска. Дело в том, что с дефолтами первые 1.5 гига
> записи диск просто простаивает (background_ratio/background_bytes)

И прекрасно. Может половина из них будет стерта к хренам и отменена как ненужное, или как минимум сгруппирована, снизив amplification factor и оверхед операций. Не понимаю стремление насиловать накопитель при любом удобном случае. На механике это тормозно. На SSD ведет к его ускоренному протиранию.

> ещё не достигнут. Т.е. ядро не пишет на диск в момент
> интенсивной записи софтом. По этой и другим причинам производительность падает.

Да вообще-то delayed alloc придумали не просто так. И в дофига случаев от него много улучшений. Это очень мощная техника оптимизаций.

>> Btrfs в общем случае тоже использует ту механику страничного кеша. По поводу чего прекрасно живет даже на роутере с 64 метрами оперативы
> Нет конечно. Вы, как я и говорил, понятия не имеете, как оно
> работает: https://github.com/pop-os/default-settings/issues/111

Это что-то совершенно левое.
1) Это не разработчик ядра и не какой либо известный эксперт в области.
2) Этот кадр ссылается на нечто 2013 года, с _флешками_ у Ташкинова. Как сие относится к быстрым SSD - загадка природы.
3) "несколько минут" не стыкуется с "быстрый SSD". Быстрый SSD вообще нереально заякорить чем-то типа полутора гигз записи или сколько там. Тем более на минуты. Такое ощущение что SSD не такой уж и быстрый был и даже откровенно хлам, который в какой-то момент резко проваливается по скорости до "похабной флешки". Или какие-то паттерны IO к нему неудачные. Может btrfs + дискард синхронный (discard=async НАМНОГО лучше, и по скорости и по IOPS в стораж), или еще какое УГ. Там недостаточно инфо для понимания как это случается а отсыл к кейсу ташкинова с флехой в 2013 только усугубляет подозрения насчет "быстрый SSD".

>> И btrfs уж точно не "драйвер стоража".
> Разве что для тех, кто не писал драйвера для ФС

Я как бы кернел компилял - и наруливал загрузку систем от и до. Очень способствует пониманию иерархии IO. Драйвер файлухи совершенно точно не драйвер стоража, и вообще. У btrfs есть свои особенности из-за многодевайсовости, но это лишь взаимодействие с блочным уровнем. И между нами - btrfs хорошая штука, но вот именно тот аспект для многодевайсных штук как говорится "leaves a lot to be desired". Там точно есть что и куда улучшать. Потому что вот это там вообще не оптимально пока. Одна из причин по которой хочется видеть вокруг еще и Кента с свежими идеями. У него с его bcache есть интересный опыт, возможно сможет показать мастеркласс как это надо было. Он уже достал половину майнтайнеров подсистем - и давно пора было, вообщет :)

Ответить | Правка | Наверх | Cообщить модератору

236. "Обновление Debian 12.1"  +/
Сообщение от Аноньимъ (ok), 24-Июл-23, 01:02 
>В убунте стоит поделие от системды которое работаает через зад и убивает проги когда ему захочется

Убунта на раб компе переодически намертво виснет несмотря на SystemDOomD.

Ответить | Правка | К родителю #138 | Наверх | Cообщить модератору

238. "Обновление Debian 12.1"  +/
Сообщение от Чукча (?), 24-Июл-23, 01:04 
Может дело в причёске?
Ответить | Правка | Наверх | Cообщить модератору

338. "Обновление Debian 12.1"  +/
Сообщение от Аноним (-), 25-Июл-23, 00:15 
> Может дело в причёске?

Да не, дело в том что он таки хучший вид эникея - как обычно с *bsd'шным бэкграундом. Умеет все по немногу - и ничего не может как следует нарулить. Потому что нахватался по верхам, но как это внутри работает - ни в зуб ногой. А то что там по дефолту что-то тормозит - в том числе и в убунте, так в виндочке современной той убунте тормозит еще больше, пользователи не жалуются и рассматривают переход как апгрейд. Значит можно релизиться :).

А то что там какие-то эстеты недовольны... ну, они либо разбираются как оно и тюнят, либо живут с тормозами. И в винде оно точно так же. Есть еще 1 опция - купить очень мощное железо. Но это дорого, греется и жрет много электричества.

Ответить | Правка | Наверх | Cообщить модератору

273. "Обновление Debian 12.1"  +/
Сообщение от leap42 (ok), 24-Июл-23, 07:14 
> #let only 64 mb of pages in ram before writing to disk
> on background
> vm.dirty_bytes = 67108864
> #let only 256 mb of pages in ram before blocking i/o to
> write to disk
> vm.dirty_background_bytes = 268435456
> #vm.dirty_bytes = 33554432
> #vm.dirty_background_bytes = 67108864

вот это бред какой-то, скорее всего значения перепутаны местами

dirty_bytes - это сколько грязных страничек всего
dirty_background_bytes - это сколько грязных страничек должно набраться чтобы запись на диск вообще началась, вопреки той ерунде, которая в арчевики и на прсторах интернета не может быть больше половины dirty_bytes, такие значения тихо игнорируются
мы не можем ждать пока dirty_bytes наполнится на 400% для записи на диск, он не может быть >100% 🤷‍♂️

Ответить | Правка | К родителю #138 | Наверх | Cообщить модератору

72. "Обновление Debian 12.1"  +3 +/
Сообщение от leap42 (ok), 23-Июл-23, 07:09 
>> Всё летает и работает стабильно.
> Справедливое высказывание для 99% дистров с дефолтными настройками.

Ага, почти. Тут в ведре версии 6.3.9 amdgpu для APU сломали. Совсем - всё виснет метрвяком. Знаете каково было мне с Ryzen 5800u на дефолтной Fedora, когда это прилетело? Я даже не сразу понял, что это ядро, а не новый ноут сдох. Арчеводы тож пострадали. Может ещё кто, кому свежее ядро просто прилетает.

Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

92. "Обновление Debian 12.1"  +/
Сообщение от Аноним (92), 23-Июл-23, 09:53 
Спасибо за информацию! У Debian в testing 6.3.7 в unstable 6.3.11, а в experimental 6.4.1.  В какой версии ядра это уже исправили?
Ответить | Правка | Наверх | Cообщить модератору

134. "Обновление Debian 12.1"  +/
Сообщение от leap42 (ok), 23-Июл-23, 15:43 
> Спасибо за информацию! У Debian в testing 6.3.7 в unstable 6.3.11, а
> в experimental 6.4.1.  В какой версии ядра это уже исправили?

6.4.4, в Fedora сегодня обнова прилетела

https://gitlab.freedesktop.org/drm/amd/-/issues/2658

Ответить | Правка | Наверх | Cообщить модератору

193. "Обновление Debian 12.1"  +/
Сообщение от Аноним (193), 23-Июл-23, 19:52 
Благодарю!
Ответить | Правка | Наверх | Cообщить модератору

113. "Обновление Debian 12.1"  +2 +/
Сообщение от Аноним (113), 23-Июл-23, 11:38 
Ну всё как обычно. Ломают amdgpu, а фак ю - nvidia.
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

140. "Обновление Debian 12.1"  +/
Сообщение от Аноним (138), 23-Июл-23, 16:29 
Поэтому в нормальных дистрах "старое" ядро (По факту LTS ядро) с возможностью поставить новое (что делают если нужно брайвет под новую железку, или вот прям срочно эта фича).  
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

172. "Обновление Debian 12.1"  +1 +/
Сообщение от Аноним (172), 23-Июл-23, 18:37 
LTS это ядро для штатного использования. Всё остальное по сути бета версии для публичного тестирования и выявления багов.
Ответить | Правка | Наверх | Cообщить модератору

168. "Обновление Debian 12.1"  –1 +/
Сообщение от Аноним (-), 23-Июл-23, 18:29 
> Ага, почти. Тут в ведре версии 6.3.9 amdgpu для APU сломали. Совсем - всё виснет метрвяком.

А где вы вообще 6.3.9 в дебиане нашли? Нигде? Ну вот то-то и оно, этим stable от федор и отличается. Так что если работало - ничего не сломается внезапно скорее всего.

> Знаете каково было мне с Ryzen 5800u на дефолтной Fedora, когда это прилетело?
> Я даже не сразу понял, что это ядро, а не новый ноут сдох. Арчеводы тож пострадали.
> Может ещё кто, кому свежее ядро просто прилетает.

Ну так у пользователей rolling участь такая - выступать в роли сапера для багов своими тушками.

А главное при этом:
1) Ни в коем случае не писать багов. А то еще починят случайно, как же вы тогда ныть будете?!
2) Если все же занесет в багтрекер типа багзиллы ядра - не надо рассказывать мерзким разработчикам какое у вас железо. Они телепаты со стажем, догадаются сами с трех нот.
3) И уж конечно не надо постить выдержки из dmesg и прочие глупости с логами где ваш суперценный GPU не взлетел. Телепаты со стажем соберут логи сами, используя libastral. Впрочем, даже если б вы и захотели собрать логи, вашей квалификации все равно не хватит для сборки логов в ситуации когда не запустился GPU.
4) Сделать alt-sysrq-S и ребут в ядро которое еще и работало чтобы логи все же прочитать вы явно не догадаетесь.
5) Да и бутлоадер вы наверное не ставили, инновационно загружая ядра прям как бинарь уефи, по заветам лучших индийских экспертов редхата. Что делать если новое ядро не взлетело - как раз и подумаем глядя на задумчивый черный экран. Можно саппорт у редхата прикупить как раз.
6) Если вдруг вас все же разобрало набить баг на актуальный майнлайн и присобачить логи в багзилле ядра, а разработчики почему-то не послали вас подальше, и вместо этого попросили бисект - ни в коем случае не соглашайтесь. Пусть эти олухи сами е...ся! Ведь это же у ниих проблема, а не у вас. Или ... погодите, вроде, наоборот? :)
7) Если вы почему-то все же оказались здесь и эти негодяи все же выкатили патч - да еще, какая наглость, персонально для вас - не вздумайте его апплаить к тестовой версии ядра и проверять фиксит ли оно вашу проблему. Потому что если вдруг - как же ныть на опеннете потом без бага?! Врать с три короба? Это паливно и вас выведут на чистую воду.
8) Но если вдруг - ни в коем случае не отписывайтесь что патч решил вашу проблему. Пусть разработчики не апплаят это в майнлайн. А вы сделаете тролфейс - круто вы их лоханули, правда? Они пахали, пахали, а вы куда-то слились и делаете тролфейс, радуясь что слили время этих бесполезных овощей вникуда. Впрочем, есть мнение что у разработчиков тоже будет причина сделать троллфейс, ведь баг то у вас :)
9) Стройте из себя умную клаву. Наверняка вы разбираетесь в недрах amdgpu круче всяких алекс-дойкеров и дадите мастеркласс редхацкому эйрли на тему drm/kms. Задвинуть пару ваших собственных версий почему оно не работает - отличный способ направить разработчиков по правильному пути. Баг при этом конечно не починится - но может и хрен с ним? Зато разработчиков потроллили.
10) И уж конечно надо рассказать разработчикам какие они к@злы, как они не могут писать код без багов, и вообще, вот вы ща дадите им мастеркласс. Чем токсичнее, наглее и некомпетентнее вы себя поведете - тем дольше и счастливее будет жить ваш любимый баг. Особый шик если вас забанят в ирке или заигнорят в почте. Много ли людей на этой планете такую ачивку вообще заскорило?! Будете просто королями среди г@вна, не какой-то фигней.

Надеюсь эти 10 вредных советов помогут вам наслаждаться вашими багами долго и счастливо :)

Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

272. "Обновление Debian 12.1"  +1 +/
Сообщение от leap42 (ok), 24-Июл-23, 07:06 
> А где вы вообще 6.3.9 в дебиане нашли?

Вы ветку из 3-х сообщений в уме удержать не можете? Анончик писал буквально "99% дистров с дефолтными настройками" - речь уже давно не про Debian.

> Надеюсь эти 10 вредных советов помогут вам наслаждаться вашими багами долго и счастливо :)

Это не 10 вредных советов, это кое-кто порвался, несите следующий)

Когда я обнаружил баг у себя, он был зарепорчен и в соответствующий гитлаб, и в Fedora, и в Arch. Более того, AMD уже его обнаружила и исправила (там тривиальный фикс на 2 строки), но из-за политики приёма изменений на разных стадиях релиза ведра фикс долго заезжал в ветку Линуса, а бэкпортирован он мог быть только оттуда.

Ответить | Правка | Наверх | Cообщить модератору

313. "Обновление Debian 12.1"  +/
Сообщение от Аноним (-), 24-Июл-23, 18:19 
> Вы ветку из 3-х сообщений в уме удержать не можете? Анончик писал
> буквально "99% дистров с дефолтными настройками" - речь уже давно не про Debian.

Ну то-есть это офтоп и к сабжу не относится? Тогда куда смотрят модераторы? :) В сабже ядро 6.1 и все что сверх того - это всякие тестинги и анстейблы. Если кто ЭТО юзает - он знает на что идет и не должен жаловаться. Потому что явно вписался в прогулки по минным полям. Сам.

> Это не 10 вредных советов, это кое-кто порвался, несите следующий)

У вас какие-то очень превратные понятия, сэр.

> Когда я обнаружил баг у себя, он был зарепорчен и в соответствующий
> гитлаб, и в Fedora, и в Arch.

Не очень понимаю в какой _гитлаб_ можно репортнуть багу с локапом в ядре - у ядерщиков вообще то багзилла, на минуточку. Если конечно это именно ядерный баг, как тут утверждали.

> Более того, AMD уже его обнаружила и исправила (там тривиальный фикс на 2 строки), но
> из-за политики приёма изменений на разных стадиях релиза ведра фикс долго
> заезжал в ветку Линуса, а бэкпортирован он мог быть только оттуда.

Хммм? В моем случае амдшники быренько уталкивали фиксы в очередной -next и оно попадало в очередной майнлайн. Что там с "stable" ядрами и кто куда (не) бэкпортил уже проблемы майнтайнеров и даунстримов, соответственно.

Ответить | Правка | Наверх | Cообщить модератору

349. "Обновление Debian 12.1"  +/
Сообщение от leap42 (ok), 25-Июл-23, 07:13 
> Не очень понимаю в какой _гитлаб_ можно репортнуть багу с локапом в ядре - у ядерщиков вообще то багзилла, на минуточку. Если конечно это именно ядерный баг, как тут утверждали.

Можно просто оставить...

> Не очень понимаю

...ничего бы не изменилось)

https://gitlab.freedesktop.org/drm/amd/-/issues/2658 - вот ссылка на баг, раз вы даже загуглить не можете

почему так вышло? - разрабы Mesa (она давно уже на гитлабе) и разрабы ядерных модулей графики - одни и те же люди. а добиться резльтата в кернельной багзилле очень сложно. вот и репортится всё обходными путями.

Ответить | Правка | Наверх | Cообщить модератору

375. "Обновление Debian 12.1"  +/
Сообщение от Аноним (-), 26-Июл-23, 03:12 
> ...ничего бы не изменилось)

Да, я не понимаю какого х баги кернела забыли в гитлабе фридесктопа.

> почему так вышло? - разрабы Mesa (она давно уже на гитлабе) и
> разрабы ядерных модулей графики - одни и те же люди.

Это в чем-то верно. В том смысле что разработчики во многом пересекаются. И все же баги кернела принадлежат кернелу. А искать за вами такими баги при регрессиях будет нифига не удобно, между прочим. Если баг MESA - окей, логично что он в багтреке месы. А если баг кернела - то что он в багтреке месы вообще совсем НЕ логично и усложняет трекинг если вдруг случится регресс. Как вы думаете сколько народа будет пытаться искать ядерный баг в месе? Наверное далеко не 100%. Значит могут навесить дубликатов не прочухав что это регрессия девам.

> а добиться резльтата в кернельной багзилле очень сложно. вот и репортится всё
> обходными путями.

Это не соответствует действительности. Я проверял если что ;). Мне AMDGPU эти господа чинили в темпе вальса. Выкатывая патчи для меня и "вот таких GPU". При том если еще и в ирке или там где сконтачится - это все еще и довольно быстро. Если повезет - через полдня багу амба. Обламывался я только 1 раз - с плавающим багом, вот с ним пришлось по#$%ться конкретно, в конце концов девы все же прочухали что не так, косяк инициализации контроллера памяти - при том все на вид работает - но раз в дофига виснет, т.к. работает на грани. Багзила им спамит в рассылку алерт на баги - это хорошо видно. И вопрос лишь в том хочет ли кто багом заняться или нет. И больше всего это зависит от того как вы баг напищете. Если он выглядит как "ничего не работает, help!!!" - ну тут упс.

Ответить | Правка | Наверх | Cообщить модератору

170. "Обновление Debian 12.1"  –5 +/
Сообщение от Аноним (172), 23-Июл-23, 18:34 
> amdgpu

Купил амуде - страдай. Поговорка лет 15 как актуальна, но люди продолжают наступать на грабли, эх.

Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

220. "Обновление Debian 12.1"  +/
Сообщение от Аноним (-), 23-Июл-23, 22:52 
>> amdgpu
> Купил амуде - страдай. Поговорка лет 15 как актуальна, но люди продолжают
> наступать на грабли, эх.

С нвидией в линухе вообще довольно х-во - нвидия явно не может держать темп за ядерщиками и не зря из верхушки топ500 вылетела, там линухи как раз. С их крапом пермаентные проблемы, глюки и взбрыки. Особенно если хочется свежий софт типа вэйланда использовать. Потому что их реализация DRM/KMS/GBD это просто кусок позора. А официальными реализациями они пользоваться не могут - им технический фак показали, вывесив GPL_ONLY на экспорты функций ядра. Проприетарщики только дубиной по морде и понимают. Можно, вот, и лицензионной - если случай представился.

Ответить | Правка | Наверх | Cообщить модератору

271. "Обновление Debian 12.1"  +/
Сообщение от leap42 (ok), 24-Июл-23, 06:39 
> Купил амуде - страдай. Поговорка лет 15 как актуальна, но люди продолжают наступать на грабли, эх.

Только в манямирке опеннетовских анончиков. У меня ноут на амудэ, а настольный на Intel. И с последним я страдал больше.

Ответить | Правка | К родителю #170 | Наверх | Cообщить модератору

171. "Обновление Debian 12.1"  +2 +/
Сообщение от Аноним (172), 23-Июл-23, 18:36 
Зачем ты обновлял ядро? Просто так? Ну так страдай! Ядра принудительно обновлять нужно только если знаешь зачем тебе это.
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру