Ru-Board.club
← Вернуться в раздел «Программы»

» Oracle VM VirtualBox (часть 2)

Автор: cracklover
Дата сообщения: 25.05.2013 16:10
sk9heaven
кажется я нашел причину. их, судя по всему даже две.
много раз мне гадивший в разные времена нетфреймворсковский процесс NGEN 4, который норовит запускаться после каждых очередных обновлений нетфреймворка и приводит к таким эффектам "пока не отработает столько сколько ему надо для "оптимизации" работы нетфреймворка".
а вторая бяка - WinSAT.exe. это системная виндосовская утилита для измерения быстродействия и возможностей системы, которая периодически запускается именно в моменты простоя системы и её бездействия.
Process Explorer успел "засечь" утечки в 96% процессорного времени гостевой оси именно из-за него.

судя по всему, у VB текущего релиза есть некоторые проблемы с корректной "утряской" работы этих двух процессов.
я отключил внутри гостевой оси NGEN 4 и отключил задание виндосовского планировщика в отношении WinSAT.exe.
боюсь сглазить, но вот уже полчаса как гостевая Windows 7 работает в фоне без всяких признаков утечек. а раньше уже через 5-10 минут работы гостевой оси начинались утечки процессорного времени.
помониторю дальше.

Добавлено:
блин... бесполезно. все равно через 30-40 минут то же самое - быстро начинает расти загрузка хостового процессора (причем оба физических ядра и 4 виртуальных - в целом).
стоит быстро вернуться в окно запущенной виртуальной машины, где в это время запущен Process Explorer для показа работы всех процессов в гостевой OS как через 5-6 секунд на хостовом процессоре резко падает нагрузка до нормальной. при этом за эти 5-6 секунд пока падает нагрузка я так и не успеваю увидеть хоть какую-нибудь подозрительную повышенную активность процессов в гостевой OS, которая могла бы вызвать такую проблему.
прям мистика
Автор: Daniyar91
Дата сообщения: 26.05.2013 01:40
cracklover
http://forum.ru-board.com/topic.cgi?forum=5&topic=26203&glp
Цитата:
C помощью Process Lasso можно устанавливать приоритеты вручную, снимать задачи, вести лог.
Автор: SV0host
Дата сообщения: 26.05.2013 03:59
cracklover
Удалите дополнения гостевой ос, если думаете, что в этом виновата VirtualBox.

Кстати, выполнение фоновых задач можно форсировать, чтоб не ждать 30-40 минут

Rundll32.exe advapi32.dll,ProcessIdleTasks
Автор: Go4vial
Дата сообщения: 26.05.2013 10:48
Привет!
У меня такая проблема...

На Win7 Ulrimate поднят VPN к провайдеру для выхода в интернеты, установлена VirtualBox в которой запущены Gentoo, Debian и Win7 Prof. У всех в настройках стоит NAT и выдаёт всем один и тот же адрес - 10.0.2.15
Если прописывать адреса самостоятельно - сеть не работает.
Как-то возможно сделать, чтоб проклятый NAT выдавал разные адреса? Вообще цель всего этого - сделать так, чтоб системы в виртуалке друг-друга видели и имели доступ в интернет через Win7 Ultimate.
Автор: mleo
Дата сообщения: 26.05.2013 12:27
Go4vial
цитирую сам себя
Цитата:
в VBox настройках NAT при помощи тонкой настройки _http://mirspo.narod.ru/vbox4/ch09.html#changenat

может у вас получится и я научусь заодно.

если нет, вам поможет VMWare Workstation. там без проблем настраивается NAT диапазон IP.
Автор: Go4vial
Дата сообщения: 26.05.2013 12:42
mleo
там по-моему не объясняется, почему все машины получают один и тот же IP, ну или я плохо знаю английский)

Я сейчас хочу попробовать на VPN-интерфейс навешать как-нибудь bridging driver virtualbox и в настройках вместо NAT указать "Виртуальная сеть", пока гуглю...

А на VMware workstation у меня нет денег)






Автор: adasiko
Дата сообщения: 26.05.2013 14:48
Go4vial

Цитата:
почему все машины получают один и тот же IP, ну или я плохо знаю английский)

Скорее второе
Ну сделай два адаптера: 1-ый как внутренняя сеть, а второй как NAT (доступ к интернету)
Автор: mleo
Дата сообщения: 26.05.2013 21:06

Цитата:
А на VMware workstation у меня нет денег)

а как быть насчет Варезника? вы что там persona non grata?
Автор: sundraw
Дата сообщения: 27.05.2013 22:58
Нужна работа ХР с SATA контроллером. Сейчас стоит драйвер Intel ICH8M-E/M SATA AHCI Controller. Проблема в одном - сетевой адаптер (любой) выключить можно, а включить- только если переключить на IDE контроллер. При включении адаптера система намертво виснет, только жёсткое выключение помогает. Штук 10 SATA драйверов перепробовал, эффект такой же или синий экран при запуске (не у всех драйверов). Кто-нибудь сталкивался с подобной ситуацией, и как её можно решить?
Автор: Infinity33
Дата сообщения: 28.05.2013 09:18
Всем привет! Ребята, можно ли поднять виртуальный образ на реальном железе, при помощи Акрониса например или ещё как нибудь?Может драйвера впихнуть какие то нужно? Кто пробовал? Спасибо
Автор: sundraw
Дата сообщения: 28.05.2013 09:52
Infinity33
Попробуй переименовать виртуальный образ в .iso , а с ним уже работать сторонними программами, может и получится.
Автор: Infinity33
Дата сообщения: 28.05.2013 09:53
sundraw
так не получится ...
Автор: SLasH
Дата сообщения: 30.05.2013 12:25
Приветствую всех!
Подскажите пожалуйста, как заставить VirtualBox-portable сохранять путь к виртуальным машинам?
Сейчас так:
1) запуская VirtualBox-portable, меняю путь к машинам на: D:\VM\VBox
2) перезапускаю VirtualBox-portable - в настройках снова путь по дефолту
При каждом запуске, в файле "VBox\data\.VirtualBox\VirtualBox.xml", переписывается путь в узле "SystemProperties defaultMachineFolder" на дефолтный.
Автор: Frot237
Дата сообщения: 05.06.2013 13:24
Уважаемые форумчане!

Подскажите что делать с такой проблемой.
При установке Windows XP, во время "Установки устройств" вылетает BSOD ( ошибка 0x0000004f ).

Настройки диска: IDE
Оперативной отдал 1 Гб ( всего 4 ).
Процессор: i3 ( загрузка до 90% ).
Места выделил 25 Гб.

Кто знает куда копать?

Спасибо.

Добавлено:
Удалил диск на который пытался ставить Win XP.
Создал новый ( на 25 Гб, статичный ).
При попытке установить Win XP вылетела ошибка:



Кто нибудь знает что в таком случае делать?

Заранее Спасибо!
Автор: NIKZZZZ
Дата сообщения: 05.06.2013 14:58
Frot237

Цитата:
При попытке установить Win XP вылетела ошибка:

Скорее всего проблема в звуковой карте , отключи ее в Vbox, возможно ты использовал какую-то сборку с интегрированными драйверами, ставь родную XP.
Автор: Frot237
Дата сообщения: 05.06.2013 15:06

Цитата:
Скорее всего проблема в звуковой карте , отключи ее в Vbox, возможно  ты использовал какую-то сборку с интегрированными драйверами, ставь родную XP.

Вы оказались совершенно правы. После тщательного поиска в интернете и вдумчивого изучения "вшитых" драйверов в XP сделал вывод что проблема с драйвером звуковой карты.

Выбрал сборку XP по "проще" и всё встало как надо.

Спасибо за помощь!
Автор: cracklover
Дата сообщения: 08.06.2013 20:33
хочу еще раз вернуться к теме, поднятой мной в нескольких моих постах ранее.
речь об "утечках" процессорного времени неминуемо появляющихся на любых виртуальных Windows старше Windows XP, в ситуациях, когда виртуальная машина с такой OS работает в фоновом режиме (окно свернуто в панель задач) более некоторого непродолжительного количества времени.
о "симптомах"подробнее можно почитать здесь, здесь и здесь.
так как моя работа крайне сильно завязана на возможности манипулировать целым зоопарком виртуальных машин каждый день, я не мог успокоиться, не найдя причин происходящему.
сегодня я потратил целый день на тесты и эксперименты и наконец-то если и не решил на 100% эту проблему, то скорее всего 100% понял откуда она берется и как её минимизировать почти полностью.
в теме мне совершенно правильно подсказали вектор поисков, но никто, вероятно, и не подумал, насколько серьезная и глубокая описываемая проблема.
после затянувшегося предисловия, перехожу к сути решения.
все дело в том, что VirtualBox, судя по всему, так и не научился даже в текущей релизной версии правильно распределять процессорное время между хостовой и гостевой OS и что еще хуже - распределять это время внутри виртуальной машины, отправленной в фоновый режим работы. как только внутри фоново работающей виртуальной машины операционная система начинает активно работать с заданиями планировщика заданий Windows или иными службами и задачами, активизирующимися только в режиме простоя работы Windows, основной процесс VirtualBox некоторое время "балансирует" и не заставляет "течь" хостовый процессор.
однако, как только внутри виртуальной машины фоновые задачи достигают некой критической величины "нагрузки" на процессор, виртуалбокс немедленно начинает отдавать этой виртуальной машине все свободные ресурсы хостового процессора, ложно "посчитав", что внутри фоновой работающей виртуальной машины начала "крутиться" какая-то "тяжелая" задача". понимаю, что всё это звучит довольно бредово, но мои дальнейшие манипуляции это подтвердили.
что я сделал:
1) путем многочисленных экспериментов определил несколько самых "провоцирующих" утечки задач. ими в моем случае (они на каждой аппаратной конфигурации и на каждой виртуальной OS могут оказаться иными!) оказались: службы оптимизации NET.Framework 2-4 (их может быть до четырех и им вовсе не нжуно быть постоянно запущенными, но по умолчанию они на автомате) + Windows Defender (Защитник Windows)+ коварнейшая задача в Планировщике задач Windows, а именно проверка производительности Windows в моменты простоя, через задачу Maintenance (процесс WinSAT).
2) поставил в ручной режим запуска и остановил службы оптимизации NET.Framework 2-4, полностью выключил Windows Defender, так как в моей бета-тестерской работе он даже мешает, отключил задание Maintenance (процесс WinSAT) в Планировщике задач Windows.

когда всё вышеперечисленное я сделал на всех моих виртуальных Windows, я смог спокойно запустить сразу 4 виртуальных машины (XP, Win7 32 и 64 бит и Windows 8 32 бит, и эти виртуальные машины спокойно работают без утечек уже полдня (а раньше, максимум 10-40 минут).

еще раз особо отмечу что в моем случае оказалось достаточным сделать всего три "отключения" в виртуальных Windows, чтобы "пресечь" критические ненужные фоновые задачи, способные "увести" виртуалбокс в "утечки" превышением отведенного "пограничного" процессорного времени на фоновые задачи внутри виртуальных машин.

если у вас происходит подобное, в вашем случае "набор" критических задач может быть иным и вычисляется только опытным путем! в частности, практически безошибочно предположу, что работающий внутри виртуальной машины антивирус, запустивший проверку всей виртуальной системы в моменты её простоя, приведет в точности к тому эффекту, что я описал выше.

также я вполне допускаю, что с другой стороны у многих вообще не наблюдаются описанные проблемы, так как аппаратная конфигурация у всех разная и мало ли как работает VirtualBox с разными реальными процессорами, поддерживающими разные аппаратные технологии виртуализации.
в моем случае это ноутбук с 16 Gb оперативной памяти и процессором i7 2620 на борту + Windows 7 64 бит в качестве хостовой OS.

буду рад, если кому-то мои советы помогут, окажись они в подобной моей ситуации.

p.s. вы спросите, почему же Windows XP не заставляла "течь" процессор?
так все просто! там у меня не было задач оптимизации нетфреймворков, защитника Windows (его там физически нет) + задания WinSAT (тоже нет). вот и нечему было "течь".
Автор: adasiko
Дата сообщения: 09.06.2013 10:39
cracklover
Собственно по поводу virtualbox я так и не понял.
На вкладке "процессор" стоит предел загрузки CPU? И он превышается?
Автор: cracklover
Дата сообщения: 09.06.2013 10:48
adasiko

Цитата:
Собственно по поводу virtualbox я так и не понял. На вкладке "процессор" стоит предел загрузки CPU? И он превышается?

а вы когда-нибудь пробовали ставить пределы для загрузки CPU в настройках виртуальной машины VirtualBox?
если для каждой машины ползунок настроек стоит не 100%, потом такая машина ощутимо тормозит при загрузке и непосредственно при работе. да, есть специфические ситуации, когда стоит ограничить в настройках предел загрузки CPU, но чаще всего для типичных ситуаций менять 100% предел не стоит.
в любом случае, даже когда я пытался этими настройками "поделить" процессорное время между виртуальными машинами, это никак не помогало в описанной мной выше ситуации.
Автор: adasiko
Дата сообщения: 09.06.2013 11:41
cracklover
Как-то не пробовал (для себя не вижу смысла)

Цитата:
речь об "утечках" процессорного времени неминуемо появляющихся на любых виртуальных Windows старше Windows XP, в ситуациях, когда виртуальная машина с такой OS работает в фоновом режиме (окно свернуто в панель задач) более некоторого непродолжительного количества времени.

Какой фоновой режим для виртуалки, особенно той, которая умеет работать в headlees режиме? Что за бред. Если гостевая система потребляет процессор, то виртуалка даёт это делать. Принцип "окна невидно - снижай потребление на минимум" не применим.
PS: хз что это всё делает здесь - вопросы в сторону Редмонда или вон тут наверно есть темы типа твиков и оптимизаций вендов
PS2: вообще как понимаю все эти вендовые процессы по оптимизациям особо должны быть жёсткими на чистой системе после установки, а потом как всё наоптимизируют, то уже не так (в теории)
Автор: cracklover
Дата сообщения: 09.06.2013 12:33
adasiko

Цитата:
Какой фоновой режим для виртуалки, особенно той, которая умеет работать в headlees режиме? Что за бред.

вот это реально бессвязный бред этажами слов.
который раз убеждаюсь, что чем более я подробно разжевываю ситуацию, чем более аккуратно беру в кавычки многие сравнения, тем больше оказывается народу, которые так ничего и не поняли, но считают своим долгом глубокомысленно откомментировать то, что они даже не поняли
в контексте моих объяснений слово "фоново" (в фоне) обозначает окно виртуальной машины, свернутой в панель задач (о чем, кстати и писал) и не надо фантазировать и придумывать иные значения.
по поводу режимов работы виртуалки (в том числе и headless) также не стоит мне рассказывать, потому как все что имеется в виртуалбоксе мною прокликано и перетестировано сотни раз за несколько лет и в моей ситуации никакие "бесшовные" режимы работы не помогли бы. окно машины, которая не в фокусе в данный момент, ведет себя на моей аппаратной конфигурации так, как я описывал. и не надо ничего домысливать!

Цитата:
Если гостевая система потребляет процессор, то виртуалка даёт это делать.

несколько раз прочитал фразу, но честно, так и не понял её смысла.

Цитата:
Принцип "окна невидно - снижай потребление на минимум" не применим.

а я где-то писал о таком нелепом принципе?
я писал лишь о поведении виртуальных машин, при котором VirtualBox неверно распределяет процессорное время на задачи, запускаемые внутри виртуальных машин в моменты их простоя.

Цитата:
хз что это всё делает здесь - вопросы в сторону Редмонда или вон тут наверно есть темы типа твиков и оптимизаций вендов

причем тут твики винды, если хостовая винда на реальном железе без всяких таких твиков не вызывает абсолютно никаких утечек процессорного времени, так как на реальном железе Windows способна сама разобраться с задачами, выполняемыми в период её простоя. речь лишь о том, что с этим не умеет корректно справиться VirtualBox.

Цитата:
вообще как понимаю все эти вендовые процессы по оптимизациям особо должны быть жёсткими на чистой системе после установки, а потом как всё наоптимизируют, то уже не так (в теории)

вообще, как я вижу, вы так ничего и не поняли.
не Windows виновата, а VirtualBox, который пока так и не научили разработчики "понимать" сколько процессорного времени отдавать задачам в простое на виртуальных машинах.
Автор: CaptainFlint
Дата сообщения: 09.06.2013 15:48
cracklover
Я, например, тоже так ничего и не понял. В частности, с термином "утечка процессорного времени" я ни разу в жизни ещё не сталкивался. Задача требует процессора — она его получает, система лишь занимается распределением процессорного времени между задачами. Если процессор гоняет такты, значит, есть задача, которая этого потребовала. Можно поднять вопрос о нужности этой задачи, о её оптимальности/неоптимальности, об ограничении процессорного времени, выделяемого на эту задачу, но говорить, что процессорное время куда-то "утекает", некорректно.

Ты говоришь, во всём виноват VB. Да откуда VirtualBox'у вообще знать, фоновая это машина или нет? Мало ли, что она свёрнута. По какому признаку ему отличать нужные задачи от ненужных, "разрешённые" от "запрещённых"? Может, ты специально в виртуалку запихнул какую-то длительную и ресурсоёмкую обработку и свернул окно, чтобы не отвлекаться. А VB тебе возьмёт и начнёт ограничивать потребление CPU, так что задача, обычно выполняющаяся за час, будет выполняться сутки…
Автор: cracklover
Дата сообщения: 09.06.2013 16:50
CaptainFlint

Цитата:
В частности, с термином "утечка процессорного времени" я ни разу в жизни ещё не сталкивался.

это всего лишь притянутое мной по аналогии с "утечками памяти" понятие, довольно близко характеризующее ситуацию.
по поводу того что именно ты и не понял - честно говоря, крайне удивлен.
попробую зайти с другой стороны и объяснить всё по другому.
допустим, есть несколько виртуальных машин и все они запущены. ну можно даже запустить не все, а только одну (это не важно!). пока окно виртуальной машины открыто и с ней идет работа (вплоть до простых движений мышкой или нажатий клавиш клавиатуры) или даже на виртуальной машине выполняются довольно ресурсоемкие (но не критические по нагрузке на процессор) задачи, эта виртуальная машина запрашивает от хостового процессора ровным счетом ровно столько ресурсов, сколько надо для выполнения задачи, ни разу не "уводя" процессор в ступор. но стоит только свернуть окно запущенной виртуальной машины, как примерно через несколько минут (максимум через 30-40 минут) процесс virtualbox.exe (в нем и крутится виртуальная машина) начинает по нарастающей очень быстро забирать все ресурсы хостового процесора, вплоть до почти 100%, что очень быстро ведет к сильному нагреву процессора и работе системы охлаждения на всю мощность. именно анализ ситуации показал, что это 100% происходило от того что внутри виртуальных машин в этот момент случалась ситуация простоя и запуска нескольких типичных для простоя фоновых задач в Windows. при этом эти фоновые задачи практически мгновенно начинали забирать столь много ресурсов хостового процессора, что он (процессор) буквально "закипал". но стоило лишь на 2-3 секунды вернуться в открытое окно виртуальной машины (подняв его из панели задач и явно тем самым прекратив выполнение задач при простое), как удивительным образом загрузка процессора почти мгновенно падала до нормальных значений.
неправда ли, довольно четкие симптомы и основания напрягаться ситуацией, тем более что несколько версий виртуалбокса тому назад такого точно не было?!
и вот как раз именно проведение мероприятий по "обузданию" задач при простое Windows позволило мне теперь сколь угодно долго держать запущенными 1,2,3,4... да сколько надо запущенных одновременно виртуальных машин, и все они спокойно забирают свои несколько процентов ресурсов процессора и не мешают работе хостовой OS. но стоит их (задачи) включить обратно - все начнется заново! железобетонная воспроизводимость проблемы, исключающая её случайность. у меня нет иных предположений, кроме как то, что последних версиях на определенных конфигурациях "железа" виртуалбокс разучился корректно делить ресурсы процессора между хостом и гостевой OS.

еще раз отмечу, что эти же задачи при простое на реальной OS никогда не вводят процессор в ступор (это к суждению, что VirtualBox якобы не виноват).
также отмечу, что ситуация "High CPU usage with idling guest" (погуглите!) для VirtualBox бродит из версии в версии и никак до конца не может быть пофиксенной, и меня вдвойне удивляет что никто этого не замечает и не читает, как будто я изобрел велосипед.
Автор: adasiko
Дата сообщения: 09.06.2013 17:06
cracklover

Цитата:
в контексте моих объяснений слово "фоново" (в фоне) обозначает окно виртуальной машины, свернутой в панель задач

Поэтому поводу всё правильно написал CaptainFlint

Цитата:
по поводу режимов работы виртуалки (в том числе и headless) также не стоит мне рассказывать, потому как все что имеется в виртуалбоксе мною прокликано и перетестировано сотни раз за несколько лет и в моей ситуации никакие "бесшовные" режимы работы не помогли бы.

И про headless упомянул, что глупо по положению окна определять для виртуалки сколько ей ресурсов отдавать (этого окна и всей графической части вообще может и не быть).

А с одной виртуалкой нормально? Может когда несколько запущено, то какая-то ерунда начинается.
Автор: CaptainFlint
Дата сообщения: 09.06.2013 17:27
cracklover

Цитата:
но стоит только свернуть окно запущенной виртуальной машины, как примерно через несколько минут (максимум через 30-40 минут) процесс virtualbox.exe (в нем и крутится виртуальная машина) начинает по нарастающей очень быстро забирать все ресурсы хостового процесора, вплоть до почти 100%, что очень быстро ведет к сильному нагреву процессора и работе системы охлаждения на всю мощность. именно анализ ситуации показал, что это 100% происходило от того что внутри виртуальных машин в этот момент случалась ситуация простоя и запуска нескольких типичных для простоя фоновых задач в Windows. при этом эти фоновые задачи практически мгновенно начинали забирать столь много ресурсов хостового процессора, что он (процессор) буквально "закипал". но стоило лишь на 2-3 секунды вернуться в открытое окно виртуальной машины (подняв его из панели задач и явно тем самым прекратив выполнение задач при простое), как удивительным образом загрузка процессора почти мгновенно падала до нормальных значений. неправда ли, довольно четкие симптомы и основания напрягаться ситуацией, тем более что несколько версий виртуалбокса тому назад такого точно не было?!

Когда сворачиваешь окно, никакие события ввода в гостевую систему не попадают. Она считает, что она в простое, и запускает соответствующие задачи. Если они так составлены, что жрут много процессора, это вопрос к разработчикам соответствующих приложений, но никак не к VB. Приложение требует процессора — оно его получает.
Далее, как только разворачиваешь окно, туда тут же летят сообщения о движениях мыши и клавиатуры. Система считает, что пользователь начал что-то делать, и прекращает выполнять задания, назначенные на время простоя. Естественно, нагрузка при этом падает, а как же иначе могло быть? Не вижу в этом каких бы то ни было страностей. Работая на хостовой системе, ты не получаешь тормозов, потому что система своевременно освобождает ресурсы, как только обнаруживает активность. Гостевая же система не имеет возможности узнать, что ты начал что-то делать, и, естественно, продолжает нагружать процессор. Если тебе не нужны эти задачи, просто отключи их в планировщике гостевой системы. Впрочем, ты именно это и сделал, — совершенно правильное и логичное решение проблемы.

Конечно, это необязательно единственная причина проблем, их могут быть десятки. На хостовой системе другое железо, другие приложения, другой набор библиотек и компонентов. Какие-то из них могут по-разному себя вести на реальном железе и под виртуализацией. На хостовой системе могут возникать какие-то системные события, на которые реагирует ядерный планировщик процессорного времени, распределяя кванты времени между задачами иначе, чем на виртуалке, где этих событий нет, и можно выделять основной задаче больше ресурсов без ущерба для производительности (он же не знает, что это приведёт к ущербу производительности в хостовой системе, и уж тем более, что у тебя такой слабый кулер, что не тянет стопроцентную загрузку длительное время). Могу сказать одно: я бы не стал вот так огульно обвинять VB, что он имеет наглость выделять процессорное время тому, кто его запрашивает. Ты ведь так и не ответил на вопрос: как VB, по твоему мнению, должен отсеивать агнцев от козлищ? Каков критерий? Особенно, если учесть, что гостевая система — необязательно винда.
Автор: cracklover
Дата сообщения: 09.06.2013 18:37
adasiko

Цитата:
А с одной виртуалкой нормально? Может когда несколько запущено, то какая-то ерунда начинается.

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

Цитата:
Когда сворачиваешь окно, никакие события ввода в гостевую систему не попадают. Она считает, что она в простое, и запускает соответствующие задачи.

ну, как бы, это очевидно.

Цитата:
Если они так составлены, что жрут много процессора, это вопрос к разработчикам соответствующих приложений, но никак не к VB.

э-э-э не-ееее-т! Windows тут не при чем.
я не даром выше жирным шрифтом выделил, что те же самые задачи в простое на хоcтовой OS совершенно не загружают процессор. допустим и на виртуалке, и на хосте одна и та же ось. с учетом того что у моего процессора полная поддержка VT-x и VT-d (и, разумеется, в настройках виртуальной машины использование этой поддержки включено, хотя пробовал даже и отключать), логично предположить, что виртуалка и хоcт используют ресурсы процессора практически одинаково (в этом то и суть VT-x и VT-d). но тогда какого же кляпа хостовая OS совершенно не напрягаясь гоняет задачи при простое, а виртуалка, которая фактически напрямую использует этот же процессор, буквально вводит его в ступор этими же задачами?! такое ощущение, что те же самые задачи при простое внутри виртуальной машины умножают требования к тактам процессора в несколько раз.
и по моему нескромному мнению это - не нормально! тем более что раньше такого не было.

Цитата:
Работая на хостовой системе, ты не получаешь тормозов, потому что система своевременно освобождает ресурсы, как только обнаруживает активность.

да? а как быть если ты сидишь и не работаешь на хостовой OS, но спокойно наблюдаешь, как задачи при простое спокойно запускаются, спокойно и своевременно выполняются и спокойно заканчивается их выполнение?а на виртуальной машине эти же задачи при простое начинаются и... так и не закончившись, вводят в ступор процессор. откуда и мой термин - "утечки процессорного времени". то есть утечки, которые необратимы без вмешательства.
и тут не система виновата, а виртуалбокс, который не дает той самой хостовой системе правильно расходовать ресурсы процессора.

Цитата:
Гостевая же система не имеет возможности узнать, что ты начал что-то делать, и, естественно, продолжает нагружать процессор.

тебя послушать, так можно подумать, что задачи в фоне - это непрекращающиеся никогда задачи их банальным завершением исполнения .

Цитата:
Если тебе не нужны эти задачи, просто отключи их в планировщике гостевой системы. Впрочем, ты именно это и сделал, — совершенно правильное и логичное решение проблемы.

ну вот. наконец ты понял. да, я сделал то, что было единственно верным решением в данной ситуации, если нет желания менять систему виртуализации и "железо".

Цитата:
Конечно, это необязательно единственная причина проблем, их могут быть десятки. На хостовой системе другое железо, другие приложения, другой набор библиотек и компонентов...

именно так! вот это меня и пугает. я не знаю, что ждать в следующий раз от очередной версии VirtualBox, которая так капризно себя ведет в разных ситуациях. я буквально живу с VB, но мне очень неприятно, что с каждой версией я должен отвлекаться на преодоление багов и глюков системы виртуализации, а не решать свои чисто бета-тестерские задачи для иного софта, ради которых и используется система виртуализации.

Цитата:
Ты ведь так и не ответил на вопрос: как VB, по твоему мнению, должен отсеивать агнцев от козлищ? Каков критерий? Особенно, если учесть, что гостевая система — необязательно винда.

да я легко отвечу на этот вопрос. раз программисты Oracle пока не в состоянии добиться корректной работы их продукта с "простаивающей" гостевой OS, так пусть добавят в свои дополнения некие инструкции на уровне кода, которые бы запретили простаивать виртуальной OS.

Добавлено:
кстати!
все забываю попросить всех потенциальных добровольцев подтвердить или опровергнуть мои рассуждения на практике.
попробуйте смоделировать мою ситуацию (а мы, "виртуальщики" по сути тем и занимаемся все каждый день) и проследите чтобы четко обозначенные мной задания (задания по нетфреймворкам, Windows Defender и WinSAT) внутри ваших виртуальных машин были включены для выполнения при простое. а затем проследите, что произойдет с нагрузкой процессора в простое на вашем "железе".
вот это будет предметный спор!
Автор: adasiko
Дата сообщения: 09.06.2013 19:23
cracklover

Цитата:
все забываю попросить всех потенциальных добровольцев подтвердить или опровергнуть мои рассуждения на практике.

У меня win 8 стоит в виртуалке. Я считаю нормальным что оно постоянно в фоне что-то делает - это вендовз.
И "Maintenance" и обновления без малейшего писка ставятся. Вот час работает - я не дождусь пока оно успокоится Загрузка процессора скачет от 30 до 100%
Процессор четырехъядерный так что не волнует, вот диск не быстрый, а оно его теребит хорошо, иногда раздражает.

Добавлено:
А не, всё успокоилось. Ровный нуль. Просто никогда долго не держал рабочей После запуска вообще виртуалку не трогал.
Автор: CaptainFlint
Дата сообщения: 09.06.2013 20:06
cracklover

Цитата:
я не даром выше жирным шрифтом выделил, что те же самые задачи в простое на хоcтовой OS совершенно не загружают процессор.

Я об этом специально расписывал второй абзац. Перечитай, плиз.

По поводу "утечек" могу сказать лишь одно: я даже теоретически не могу себе представить, как один и тот же код может нагружать процессор по-разному. Если программе надо выполнить команду mov ecx, edx, то хоть ты тресни, это будет та же команда, и нагрузит она процессор одинаково. Поэтому источник проблемы в разном распределении процессорной нагрузки. О чём я выше уже говорил.

Если ты наблюдаешь на хосте и госте отличающееся поведение программы, это не значит, что она всегда и у всех будет вести себя по-разному. Это означает лишь то, что в твоей конкретной ситуации наблюдается такое различие в окружении, которое приводит к разному поведению. Может, у тебя банально мышка оптическая нечётко распознаёт текстуру коврика и постоянно передаёт "дрожание", на которое хостовая система реагирует снижением приоритета фоновых задач, думая, что это пользователь мышку дёргает, а иначе она точно так же нагружала бы тебе процессор на всю катушку.


Цитата:
тебя послушать, так можно подумать, что задачи в фоне - это непрекращающиеся никогда задачи их банальным завершением исполнения

Не совсем распарсил эту фразу, но я не говорил, что они никогда не прекращаются. Просто все эти генерации .NET-сборок занимают очень много времени, от нескольких часов до нескольких суток непрерывной работы. К тому же, я не знаю, как на них влияют перерывы в деятельности. Очень может быть, что она никак не может добить какой-то один несчастный файл: ты постоянно прерываешь задачу, и потом она вынуждена при следующем запуске снова начинать обработку того же файла (и всё это повторяется раз за разом). Я не говорю, что так и есть, я говорю, что это возможно.


Цитата:
раз программисты Oracle пока не в состоянии добиться корректной работы их продукта с "простаивающей" гостевой OS,

Они в состоянии. И они добились. Другое дело, что тебе не нравится, как ведёт себя винда в изолированном окружении при абсолютном отсутствии сигналов с устройств ввода… Ну так это вопрос не к Oracle.


Цитата:
…так пусть добавят в свои дополнения некие инструкции на уровне кода, которые бы запретили простаивать виртуальной OS.

Гениально! И посыпятся на их головы баг-репорты, что .NET-сборки в гостевой системе никак не могут сгенерироваться, потому что даже при ручном запуске задача завершается через секунду…
Автор: cracklover
Дата сообщения: 09.06.2013 21:10
adasiko

Цитата:
Я считаю нормальным что оно постоянно в фоне что-то делает - это вендовз.

а я считаю это не нормальным, так в моих OS практически не бывает задач, которые в простое способны заставить OS ставить на колени "железо" и я привык к длительным аптаймам с "холодным" процессором в моменты простоя и не важно, в реальной OS или виртуальной.


Цитата:
Загрузка процессора скачет от 30 до 100%

я за сегодня переделал кучу работы на 4 виртуальных машинах. уже часов 12 подряд работаю (иногда отбегая на некоторое время до получаса) и ни одна из 4 одновременно запущенных виртуальных машин за все эти 12 часов в простое не разогрела процессор больше чем сама хостовая OS. вот это для меня показатель стабильной работы.


Цитата:
Процессор четырехъядерный так что не волнует, вот диск не быстрый, а оно его теребит хорошо, иногда раздражает.

даже когда виртуальные машины запущены на выделенном сервере с мощным охлаждением, на мой взгляд крайне неразумно не обращать внимание на то, как балансируют с нагрузкой на процессор виртуальные машины.


Цитата:
А не, всё успокоилось. Ровный нуль. Просто никогда долго не держал рабочей После запуска вообще виртуалку не трогал.

ну а я не желаю ждать окончания выполнения бесполезных для меня задач при простое внутри виртуальной машины, которые бессмысленно нагружают процессор.
странно, что ещё никто меня не спросил, зачем же я экономлю ресурсы процессора и системы охлаждения.
а ведь ответ прост!
90% времени я работаю на своем ноутбуке (хотя и значительную часть времени - на удаленных серверах, используя ноутбук только как устройство отображения данных в rdp-сессии) и значительную часть этого времени - на аккумуляторе (которых у меня к ноутбуку подключено одновременно 2 штуки).
наверно, не стоит и говорить, как могут влиять на расход энергии аккумулятора ноутбука несколько одновременно запущенных виртуальных машин, в которых не оптимизировано выполнение задач при простое. постоянно и бессмысленно загруженный процессор в таких ситуациях + кулер, работающий на всю катушку, моментально отожрут даже мой зверский запас в 110 Wh у двух аккумуляторов, и я едва "протяну" 3 часа непрерывной работы при такой неоправданной максимальной нагрузке. а с моей "оптимизацией" я спокойно работаю и 6 часов подряд на аккумуляторах даже с несколькими запущенными виртуальными машинами.

CaptainFlint

Цитата:
я даже теоретически не могу себе представить, как один и тот же код может нагружать процессор по-разному. Если программе надо выполнить команду mov ecx, edx, то хоть ты тресни, это будет та же команда, и нагрузит она процессор одинаково.

вот именно поэтому ты и не понял в чем суть проблемы до конца!
не один и тот же код виноват, а среда в которой он выполняется.
это не код, а программное ядро виртуалбокса, представляющее собой "прослойку" трансляции команд от виртуальной оси к реальной не может одинаково корректно для обеих OS (реальной и виртуальной) "отдавать" их (команды) процессору на исполнение.

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

ну так я старательно и четко предупредил, что при разной конфигурации "железа" и OS повторяемости может и не быть. но согласись, лучше предупредить о том, что проблема может случиться (а проблемы не случилось) и предложить решение, чем столкнуться с проблемой и не иметь никакого решения?

Цитата:
Может, у тебя банально мышка оптическая нечётко распознаёт текстуру коврика и постоянно передаёт "дрожание", на которое хостовая система реагирует снижением приоритета фоновых задач, думая, что это пользователь мышку дёргает, а иначе она точно так же нагружала бы тебе процессор на всю катушку.

я как раз считаю, что ни "дрожание" мышки, не моё чихание, не должны влиять на стабильность "брошенной" без активной нагрузки виртуальной машины. иначе как можно такой системе виртуализации доверить крутиться в дата-центах? спалит "железо" к такой-то бабушке!

Цитата:
Очень может быть, что она никак не может добить какой-то один несчастный файл: ты постоянно прерываешь задачу, и потом она вынуждена при следующем запуске снова начинать обработку того же файла (и всё это повторяется раз за разом).

а кто мешал Майкрософт сделать так, чтобы задача выполнялась с небольшой нагрузкой на процессор не только при простое?
кстати! показательный пример. у меня под присмотром несколько удаленных выделенных серверов по всему миру, и я не раз сталкивался с ситуацией, когда после очередных обновлений нетфреймворков на этих серверах, при последующем требуемом для окончательной их установки ребуте, а не мог попасть на сервера по rdp до тех пор, пока "оптимизация" установленных обновлений нетфреймворков не завершалась полностью. причем шла она именно в простое, максимально нагружая процессор.

Цитата:
Другое дело, что тебе не нравится, как ведёт себя винда в изолированном окружении при абсолютном отсутствии сигналов с устройств ввода…

если на реальном железе эта же Windows ведёт себя при отсутствии активности совершенно ровно (иначе кто бы доверил ей работу на серверах?), то почему в виртуальной среде я должен соглашаться на что-то иное?!

Цитата:
Гениально! И посыпятся на их головы баг-репорты, что .NET-сборки в гостевой системе никак не могут сгенерироваться, потому что даже при ручном запуске задача завершается через секунду…

по моему ты меня опять неправильно понял.
раз внутри виртуальной машины в некоторых ситуациях задачи в простое неадекватно нагружают процессор из-за кривой работы самого виртуалбокса, ну так до выяснения обстоятельств не мешало бы вообще не давать Windows "простаивать" через искусственно генерируемые запросы, например, со стороны дополнений виртуалбокса, работающим с достаточным приоритетом?

либо кто мешает программистам Oracle через те же самые дополнения отслеживать, что виртуальная машина вошла в режим простоя и в такие моменты программно "запрещать" такой машине нагружать задачами, выполняемыми при простое, процессор хоста? если совсем коротко: "виртуальная машина активно работает? отдать ей столько ресрусов процессора, сколько надо! виртуальная машина простаивает? ограничить для задач простоя выдачу ресурсов процессора!".


Автор: CaptainFlint
Дата сообщения: 09.06.2013 21:32
cracklover

Цитата:
я как раз считаю, что ни "дрожание" мышки, не моё чихание, не должны влиять на стабильность "брошенной" без активной нагрузки виртуальной машины. иначе как можно такой системе виртуализации доверить крутиться в дата-центах? спалит "железо" к такой-то бабушке!

Если в дата-центре также железо, что его можно спалить чрезмерной нагрузкой, то тамошнего админа надо гнать в три шеи. Сервер должен выдерживать одновременную нагрузку на 100% по всем компонентам системы, иначе это никакой не сервер, а недоразумение.

Я одного не понимаю: откуда у тебя презумпция виновности Оракла? Да откуда ты знаешь, может быть, если поставить винду на такое же железо, как там эмулируется, она начнёт точно так же себя вести? У тебя система из нескольких десятков компонентов от самых разных разработчиков — как аппаратных, так и программных, но среди них ты выбрал один-единственный — VirtualBox, и обвинил его во всех смертных грехах. Хоть убей, я не вижу, на каком основании ты это сделал.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499

Предыдущая тема: Программы для разработки, тестирования, оптических систем


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.