@warl0ck имеет его правильный; требуемый, чтобы добавить, что эта информация документируется вполне хорошо в Новомодной документации: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
Конкретно:
С Выскочкой 1.3, можно использовать файлы переопределения и ручную строку файла конфигурации для достижения того же результата более простым способом [27]:
# echo "manual" >> /etc/init/myjob.override
Обратите внимание, что Вы могли достигнуть того же эффекта путем выполнения этого:
# echo "manual" >> /etc/init/myjob.conf
Однако использование средства переопределения означает, что можно оставить исходный конфигурационный файл задания нетронутым.
Чтобы вернуться к исходному поведению, или удалить или переименовывают файл переопределения (или удалите ручную строку файла конфигурации из своего ".conf" файла).
Приоритет процесса не является единственной вещью, которая играет роль, когда Вы пытаетесь настроить пользовательский опыт. Компиляция ядра скорее вещь I/O-heavy - большое чтение/запись из маленьких файлов, которые могут расширить файловую систему вполне немного (существует причина, почему это иногда используется в качестве сравнительного теста самостоятельно), особенно на многопроцессорной машине. Если у Вас есть достаточно RAM, я предлагаю, чтобы Вы попытались скомпилировать ядро в tmpfs - по крайней мере частично: любое помещенное исходное дерево там (который будет эффективно действовать как упреждающая выборка его в кэш) или отправляет вывод туда при помощи
make O=/dev/shm ...
или везде, где Вы решаете смонтировать Ваш tmpfs
экземпляр, достаточно большой для содержания файлов объекта ядра - который может легко быть в диапазоне гигабайта).
Кроме этого можно также проверить, имеет ли VLC возможность кэширования (мое предположение - он, имеет, например, для MPlayer имеет -cache
опция), с которым можно запросить кэширование данных внутренне. Затем это не должно получать данные, поскольку этому нужны они, но когда они становятся доступными.
Другая вещь состоит в том, что отображение сделано через X-сервер - его приоритет должен был бы быть повышен также (см. комментарий Wumpus Q. Wumbley под вопросом).
Еще две опции используют cgroups, и/или планировщик RT (для первого на видят, например, приоритет управления приложений с помощью cgroups, поскольку последние видят, например, хинду инструкции).
Последняя вещь, который Вы могли бы хотеть оптимизировать свою систему немного путем превращения ненужных сервисов. Лично я полагал бы, что PulseAudio, являющийся тем, запускается с.
Однако то, что Вы описываете, походит на больше некоторый высокий приоритет случай ввода-вывода - мое предположение, Вы испытали некоторый тяжелый свопинг - действительно ли Вы уверены, что Ваш tmpfs не был вынужден быть выгруженным? В этом случае я боюсь, по крайней мере, iorenice, не будет очень полезным.
renice
действительно влияет на приоритет процесса. Но поскольку Вы испытали, просто потому что процесс имеет более высокий приоритет, не подразумевает, что он будет иметь все ресурсы, в которых требуется. Более высокий приоритет просто дает процессу больший шанс захватить ресурсы.
renice
только процессорное время влияния. Таким образом, это только имеет эффект, если два или больше процесса конкурируют в течение процессорного времени. Если ограничивающим фактором не является процессорное время, но пропускная способность средств ввода-вывода, хорошее значение не оказывает влияния. Возможно, в Вашем случае компиляция использует много дисковой пропускной способности, и vlc не может считать данные достаточно быстро с диска. Попробовать ionice
вместо этого или в дополнение к nice
.
Если Вы будете часто делать это, то Вы получите лучшие результаты, если видео и компиляция будут на отдельных дисках. Кроме того, можно получить лучшие результаты, если Вы предварительно загружаете видео в дисковый кэш (cat /path/to/video.file >/dev/null
, или tail -c +456m | head -c 123m /path/to/video.file >/dev/null
для чтения 123 МБ, запускающихся при смещении 456 МБ) — но если у Вас нет большого количества RAM, компиляция, вероятно, будет требовать возвратить пространство кэша. Если Вы хотите убедиться иметь видео в памяти, сделайте электронный диск и скопируйте видео в него.
ionice
хотя я подозреваю, что это не будет иметь большую часть значения, так как компиляция ядра уже выполнялась в RAM (источники, и все были в /tmp
который я имею как tmpfs). Я исправлю вопрос относительно этого.
– Kao Dome
14.10.2013, 01:08
Поскольку другие сказали, что есть много частей системы, которая может быть затронута, включая пропускную способность памяти, и эти другие части системы также будут иметь свои собственные планирования и приоритеты.
Вы всегда можете использовать CHRT -I 0
, чтобы дать компиляцию истинного приоритета простоя.
http://linux.die.net/man/1/chrt
или дроссель компиляции с помощью cgroups. http://kennystechtalk.blogspot.co.uk/2015/04/throottling-cpu-Usage-with-linux-cgroups.html
или бросить все на него:
EATMYDATA CGEEXEC -G CPU: CHRT CHRT -I 0 IONICE -C3 NICE -N19 / PATH / COMPILE-SCRIPT> / DEV / NULL
Примечание: Nice -N19
Не должен иметь никакого значения, если CHRT - I 0
используется, но это также ничего не повредит.
Мой древний P4 может сделать то же самое без VLC расстраивается.