Причины, по которым запущенный процесс может добровольно или невольно отказаться от ЦП?

Compiz интенсивно использует 3D-акселератор. Если вы запускаете свою Ubuntu на виртуальной машине, она пытается использовать эмулированную.

Эмуляция 3D-акселератора, как правило, вызывает большие проблемы в большинстве решений виртуализации. Но иногда он работает или его можно взломать, чтобы он работал, в основном в продуктах VMWare.

Не имея аппаратного 3D-ускорителя, 3D-рендеринг больше переключается на программное обеспечение. Он медленный и съедает страшную массу процессорного времени, вот с чем вы сталкиваетесь.

Ваши возможности:

  1. Вы можете переключиться на оконный менеджер в виртуальной машине, которой не нужно так много 3D-вещей. Таким образом, вы теряете красоту композиции.
  2. Вы можете переключиться на другое программное обеспечение для виртуализации, которое может эмулировать 3D-ускорение. Однако с ним вы никогда не достигнете скорости вашей хост-системы.
  3. Вы можете использовать другую видеокарту и предоставить прямой доступ к ней по пути PCI к вашей виртуальной машине. Обратите внимание, что это имеет побочный эффект, заключающийся в том, что сбой вашей виртуальной машины может также привести к сбою вашей хост-машины.

Больше всего мне повезло с (1 ), затем с (3 ).

-3
05.11.2019, 07:20
1 ответ

Большинство системных вызовов (, в основном тех, которые помещают процесс в очередь службы, )приводят к тому, что планировщик ядра берет следующий по срочности процесс и запускает его. Немного сложнее для многоядерных -и когда процессы могут быть выделены для определенных ядер или ЦП.

Процессорное время также распределяется по максимальным временным интервалам, и на каждом такте планировщик проверяет, не израсходовал ли текущий процесс весь свой квант времени. Если это так, то оно приостановлено (, т.е. не возвращается из тикового прерывания ), а его временное значение nice увеличено, поэтому оно находится дальше от головы очереди расписания. Это гарантирует, что программы, выполняющие частые операции ввода-вывода, получат много коротких временных интервалов, а процессоры-пожиратели — несколько длинных.

Все это описывает довольно ранние Unix-системы (, потому что в последнее время я не работал на этом уровне ), но, вероятно, он не сильно изменился. Вы не можете так сильно улучшить первоначальный дизайн.

0
28.01.2020, 05:19

Теги

Похожие вопросы