Если я использую какое-либо приложение с интенсивным вводом-выводом (например, Virtualbox, проверку данных Steam или даже dd
), моя система перестает отвечать на запросы . Несмотря на то, что все они запускаются с обычным приоритетом, они делают рабочий стол очень вялым и сильно задерживают запуск других приложений.
Я знаю, что могу использовать что-то вроде ionice
изменения приоритета на простое, например, но в случае Virtualbox, который порождает много процессов, это становится трудным.
Могу ли я дать какой-то тип подсказок системе, чтобы при запуске некоторых конкретных приложений они запускались с наименьшим приоритетом ввода-вывода?
disk
process-priority
Salem
источник
источник
Ответы:
Примечание. Это решение работает только с планировщиком cfq, как описано здесь . Вы должны проверить, какой из них используется путем выдачи
и измените его при необходимости.
Если я правильно понял, вы хотите, чтобы некоторые
ionice
настройки применялись при каждом запуске команды. Вы можете сделать это следующим образом:Первая команда создает файл
VirtualBox
с текстом в одинарных кавычках. У этого должен быть полный путь к программе, потому что, если указать только один,VirtualBox
он может интерпретировать его как файл, который мы только что создали, и создать «цикл».Вторая команда делает его исполняемым, а третья перемещает этот новый файл в папку, которая находится перед папкой «system» bin
/usr/bin
, так что наш новый файл исполняется вместо оригинала. Часть «$ @» содержит все аргументы, с которыми была вызвана команда, поэтому они перенаправляются в настоящую команду VirtualBox.Согласно ответу («да») на этот вопрос суперпользователя. Наследственные процессы детей наследуют приоритеты своих родителей? Как вы проверяете приоритет ввода-вывода запущенного процесса? , должно быть достаточно для
ionice
родительского процесса, например:На
ionice
странице man доступны следующие значения класса планирования ввода / вывода:Можно использовать номер или имя класса.
Кроме того,
-n level
опция применима для классов реального времени и классов с максимальным усилием, с 0-7 в качестве допустимых данных (уровней приоритета).источник
ionice
родительского процесса"?ionice
может работатьcfq
только с планировщиком! Для более подробной информации: unix.stackexchange.com/questions/136226/…Вы можете использовать команду renice для определения приоритетов процессов:
Возможно, ваш диск слишком сильно крутится, поэтому, когда вы хотите запустить приложение, такое как Virtualbox, оно должно раскрутиться, прежде чем вы сможете начать работать (это может занять некоторое время).
источник