История изменений
Исправление Deleted, (текущая версия) :
Thrashing при использовании анонимной памяти или разновидность 12309 - забивание памяти writeback cache, который предназначен медленному устройству, и последующий уход системы в thrashing?
Первое. Или несколько шире: Thrashing, вызванный тем, что суммарный рабочий набор перестал вписываться в ОЗУ.
о каких приоритетах говоришь ты и какую задачу они помогут решить
Задачу приоритетного разделения ресурса ОЗУ между вычислительными задачами. Точно так же, как (нереалтаймовая) задача не может оказать критического эффекта на функционирование системы, когда потребляет время CPU в максимальных объемах, она не должна оказывать критического эффекта при попытке потреблять ОЗУ в максимальных объемах.
Можно сформулировать в терминах «баг - желаемое поведение»:
Текущее поведение (баг) :
Пусть объема озу не хватает для размещения суммарного рабочего набора всех запущенных процессов. В текущей реализации это может приводить к замедлению работы всех процессов вплоть до невозможности выполнения каких-либо административных действий.
Желаемое поведение (шаг 1) :
Каждый процесс имеет сопоставленный ему приоритет использования ОЗУ. Более приоритетные процессы могут увеличивать свой рабочий набор за счёт вытеснения страниц из рабочих наборов менее приоритетных процессов. Таким образом на работу приоритетных процессов трашинг не окажет критического влияния.
Желаемое поведение (шаг 2) :
Ядро использует эвристику для автоматического регулирования этого приоритета. Процессы, имеющие малый рабочий набор и не стремящиеся его расширять получают бонус к приоритету. Процессы, имеющие большой рабочий набор и стремящиеся его расширить, получают штраф к приоритету.
Такая эвристика приведет к тому, что процессы такие как супервизор демонов, демон ssh, оболочка sh и т.п. будут всегда иметь высокий приоритет. Компактные графические приложения также будут иметь повышенный приоритет (по сравнению, например, с браузером).
Исправление Deleted, :
Thrashing при использовании анонимной памяти или разновидность 12309 - забивание памяти writeback cache, который предназначен медленному устройству, и последующий уход системы в thrashing?
Первое. Или несколько шире: Thrashing, вызванный тем, что суммарный рабочий набор перестал вписываться в ОЗУ.
о каких приоритетах говоришь ты и какую задачу они помогут решить
Задачу приоритетного разделения ресурса ОЗУ между вычислительными задачами. Точно так же, как (нереалтаймовая) задача не может оказать критического эффекта на функционирование системы, когда потребляет время CPU в максимальных объемах, она не должна оказывать критического эффекта при попытке потреблять ОЗУ в максимальных объемах.
Можно сформулировать в терминах «баг - желаемое поведение»:
Текущее поведение (баг) :
Пусть объема озу не хватает для размещения суммарного рабочего набора всех запущенных процессов. В текущей реализации это может приводить к замедлению работы всех процессов вплоть до невозможности выполнения каких-либо административных действий.
Желаемое поведение (шаг 1) :
Каждый процесс имеет сопоставленный ему приоритет использования ОЗУ. Более приоритетные процессы могут увеличивать свой рабочий набор за счёт вытеснения страниц из рабочих наборов менее приоритетных процессов. Таким образом на работу приоритетных процессов трашинг не окажет критического влияния.
Желаемое поведение (шаг 2) :
Ядро использует эвристику для автоматического регулирования этого приоритета. Процессы, имеющие малый рабочий набор и не стремящиеся его расширять получают бонус к приоритету. Процессы, имеющие большой рабочий набор и стремящиеся его расширить, получают штраф к приоритету.
Такая эвристика приведет к тому, что процессы такие как супервизор демонов, демон ssh, sh и т.п. будут всегда иметь высокий приоритет.
Исходная версия Deleted, :
Thrashing при использовании анонимной памяти или разновидность 12309 - забивание памяти writeback cache, который предназначен медленному устройству, и последующий уход системы в thrashing?
Первое. Или несколько шире: Thrashing, вызванный тем, что суммарный рабочий набор перестал вписываться в ОЗУ.
о каких приоритетах говоришь ты и какую задачу они помогут решить
Задачу приоритетного разделения ресурса ОЗУ между вычислительными задачами. Точно так же, как (нереалтаймовая) задача не может оказать критического эффекта на функционирование системы, когда потребляет время CPU в максимальных объемах, она не должна оказывать критического эффекта при попытке потреблять ОЗУ в максимальных объемах.
Можно сформулировать в терминах «баг - желаемое поведение»:
Текущее поведение (баг) :
Пусть объема озу не хватает для размещения суммарного рабочего набора всех запущенных процессов. В текущей реализации это может приводить к замедлению работы всех процессов вплоть до невозможности выполнения каких-либо административных действий.
Желаемое поведение (шаг 1) :
Каждый процесс имеет сопоставленный на ему приоритет использования ОЗУ. Более приоритетные процессы могут увеличивать свой рабочий набор за счёт вытеснения страниц из рабочих наборов менее приоритетных процессов. Таким образом на работу приоритетных процессов трашинг не окажет критического влияния.
Желаемое поведение (шаг 2) :
Ядро использует эвристику для автоматического регулирования этого приоритета. Процессы, имеющие малый рабочий набор и не стремящиеся его расширять получают бонус к приоритету. Процессы, имеющие большой рабочий набор и стремящиеся его расширить, получают штраф к приоритету.
Такая эвристика приведет к тому, что процессы такие как супервизор демонов, демон ssh, sh и т.п. будут всегда иметь высокий приоритет.