Передо мной была поставлена та же проблема, и я установил Oracle VirtualBox в Windows 7 (в качестве хоста) и Ubuntu (в качестве гостя). Я использовал автономный ноутбук HP EliteBook 8540W с Intl Core i7 с тактовой частотой 1,87 ГГц и 8 ГБ оперативной памяти.
Предполагая, что ваша установка работает правильно, на вашей гостевой машине (например, в моем случае, Ubuntu) выберите «Настройки ...» из «Машины» в главном меню; выберите «Система» и нажмите на вкладку «Процессор». Вы можете отрегулировать тактовую частоту (с надписью «Выполнение Cap»), сдвинув индикатор на панели до 1 процента.
Я предположил, что хост-ОС (в моем случае Windows 7) не потребляла никаких тактовых циклов (я подтвердил это, проверив «Диспетчер задач», и обнаружил, что загрузка процессора ZERO на хост-машине .ie windows 7 в моем случае). Поэтому я считаю, что «ограничение выполнения» на 100% равняется таковому для хост-машины (например, 1,87 ГГц). Я думаю, что, взяв процентное соотношение между тактовой частотой хост-машины и 800 МГц, вы сможете вычислить процентное значение, соответствующее 800 МГц.
Надеюсь, это поможет.
Удачи.
Скомпилировано и использовано: cpulimit, который работает как шарм, чтобы замедлить работу виртуальной машины.
источник
Хотя я не эксперт по всем различным технологиям виртуализации, я думаю, что вряд ли вы найдете такую настройку. Тем не менее, вы найдете настройки (по крайней мере, в MS hyper-V), которые позволяют ограничить виртуальную машину до процента от общих действий хост-машины. Поэтому, если у вас 8-ядерный хост, работающий на частоте 2 ГГц, вы можете попробовать ограничить клиентскую виртуальную машину одним ядром и не более 45% от ядра.
Тем не менее, это было бы очень грубо и не подходит, если вы пытаетесь проверить циклы синхронизации или что-то, где фактическая скорость процессора вступает в игру.
источник
--cpuexecutioncap <1-100>: этот параметр определяет, сколько процессорного времени может использовать виртуальный процессор. Значение 50 подразумевает, что один виртуальный ЦП может использовать до 50% ЦП одного хоста.
источник
Я могу подтвердить, что это не поддерживается в VirtualBox. Тем не менее, документация кажется сомнительной, может ли VMware сделать это.
РЕДАКТИРОВАТЬ: Для VMware: «Это невозможно с продуктами Player и Server, но я полагаю, что это происходит в ESXi (бесплатный продукт« голый железный гипервизор ») и в платных продуктах, таких как VMWare Workstation».
источник
Вы могли бы быть в состоянии симулировать это с закреплением процессора. Затем создайте несколько связанных с процессором процессов, закрепленных на том же процессоре. Расчетная скорость процессора (Реальная скорость процессора / число процессов).
Некоторое программное обеспечение для ограничения ресурсов позволит вам ограничить процент ресурсов. Это облегчит ограничение скорости процессора. Для этого вам необходимо отключить доступ к запасным ресурсам.
источник
В VirtualBOX есть ползунок, где вы можете настроить% хост-процессора, который может использовать гостевой процессор. Такой процент относится к каждому ядру.
В VirtualBOX нет способа симулировать многоядерность с разными скоростями на каждом ядре, только один слайдер для всех ядер.
Установка ползунка на 50% приведет к тому, что гостевые ядра будут работать на 1/2 ядра хоста (основы для каждого ядра).
Так что, если у вас есть дека-ядро (10 ядер) на хосте и три ядра на гостевом (три), и вы хотите, чтобы гостевая частота работала на X МГц, а хост - на Y МГц, просто проигнорируйте количество ядер, чтобы вычислить процент.
Формула будет: процент = 100 * X / Y
Надеюсь, что это также помогает другим людям, приходящим сюда на будущее.
источник