Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej

Gelip 17 Lip 2015 22:17 1260 11
  • #1 17 Lip 2015 22:17
    Gelip
    Poziom 28  

    ThinkPad X61 Core2Duo 2.0GHz, WinXP SP2 x64, temperatura CPU wynosi 59°C, wentylator nie działa za sprawą programu TPFanControl (włącza się dopiero przy 65°C).
    W czasie startu maszyny wirtualnej w MS VPC2007 w BIOS i DOS zużycie procesora sięga 50%, temperatura wzrasta momentalnie do 80°C a wentylator wchodzi prawie na najwyższe obroty. Co ciekawe po odpaleniu w maszynie systemu np. WinXP x86 wszystko wraca do normy. Oczywiście po zamknięciu maszyny też wszystko wraca do normy. Dlaczego tak się dzieje tylko przy emulacji DOS lub gdy w maszynie uruchomię BIOS?

    Jest to wkurzające bo komputer Host grzeje się bardziej przy emulacji DOS niż Windows. Najgorszy jest ten szum wentylatora CPU. Zacząłem dumać o co tu może chodzić. Zdaje się iż BIOS i DOS to tryb rzeczywisty a WinXP to tryb chroniony.

    Wygląda na to iż procesor 64-bit w systemie Hosta 64-bit przy emulacji trybu rzeczywistego (16-bit) pracuje całą parą. Da się coś z tym zrobić aby nie chodził na full obrotach?
    Może ktoś to sprawdzić u siebie w systemie Windows 64-bit XP, Vista, 7 lub 8 - w MS VPC2007, stworzyć maszynę i odpalić wchodząc do BIOS lub odpalić bez tworzenia dysku VHD, wówczas odpali Argon PXE Boot Agent.

    P.S. To samo jest w maszynie VMware Workstation.

    0 11
  • #2 17 Lip 2015 23:07
    radarek12
    Poziom 14  

    Gelip napisał:
    BIOS i DOS to tryb rzeczywisty

    Według mnie to jest przyczyną

    Gelip napisał:
    aby nie chodził na full obrotach?

    Próbowałeś w procesach ustawić priorytet ?
    Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej
    Lub ustawić koligację ?
    Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej
    Czemu nie korzystasz z VMware ? Ja polecam, sam używam :)
    Jeżeli odpalasz gierki DOS-owe to polecam DOS-BOX :D
    Pozdrawiam

    0
  • #3 18 Lip 2015 00:05
    Gelip
    Poziom 28  

    Priorytet jest zawsze Normal, przestawienie na LOW nie pomaga, ustawienie koligacji na CPU0 też nie pomaga.
    Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej

    Gierek DOS'owych nie odpalam :-). MS VPC2007 i VMware używam zamiennie ponieważ obie maszyny - niestety, w odmienny sposób działają z iPXE, gPXE czy Tiny PXE Server. MS VPC zachowuje się tak samo jak prawdziwe komputery czego nie mogę powiedzieć o VMware. Za to VMware ma swoje zalety w stosunku do VPC np. emuluje DirectX, systemy 64-bitowe w systemie Hosta 32-bit. Podsumowując: do testowania systemów i programów używam VMware a do testowania uruchamiania z sieci za pomocą iPXE, gPXE z serwera Tiny PXE Server używam VPC :-)
    Czasami te Core2Duo mnie wkurza. Używam też MS VPC na innych komputerach stacjonarnych - z jednordzeniowym procesorem 64-bit oraz z jednordzeniowym 32-bit i takich problemów nie ma albo to nie wina C2D tylko kwestia chłodzenia w ThinkPad ?
    Nie sprawdzałem tego ale być może na tych komputerach stacjonarnych też temperatura CPU wzrasta przy uruchamianiu VPC ale płyty główne nie regulują obrotów wentylatora który chodzi ze stałą prędkością i wówczas problem jest nie zauważalny.
    W X61 mam w tray'u odpalony programik TPFanControl który na bieżąco pokazuje temperaturę CPU.

    0
  • #4 18 Lip 2015 13:09
    radarek12
    Poziom 14  

    Ja spróbowałbym jeszcze VirtualBox-a, nie wiem czy sprawdzałeś.
    qEmu nie polecił bym, chyba nie obsługuje bootowania w sieci.
    Jeżeli to wina emulatora, a raczej tego co emuluje to na MS VPC nic nie poradzisz.
    No chyba że masz kod źródłowy, zedytujesz kilka (lub więcej) linijek kodu i skompilujesz :)
    Nie bardzo wiem jak Ci pomóc.
    Pozdr

    0
  • #5 18 Lip 2015 13:59
    Gelip
    Poziom 28  

    Nie chcę zmieniać VPC ponieważ jak wspomniałem bardzo dobrze emuluje sprzęt i dobrze testuje się oprogramowanie sieciowe typu iPXE. Poza tym uważam iż VPC jest lekki i zajmuje niewiele po instalacji:
    MS VPC2007 - tylko 38MB
    VMware Workstation 8.0 - aż 643MB
    Znam wszystkie inne emulatory także Bochs, Qemu - ten jest w różnych wersjach. VirtualBox zachowuje się podobnie do VMware. Tak jak pisałem każdy ma swoje zalety np. Bochs potrafi emulować popularny BIOS AWARD dla płyt głównych z chipsetem 440FX oraz i815 a Qemu potrafi użyć BIOS SeaBIOS.

    0
  • #6 18 Lip 2015 14:09
    rzymo
    Poziom 30  

    U mnie przy maszynach wirtualnych jest tak jak na rzeczywistej maszynie, czyli:
    * bios / dos - użycie procesora 100% (brak mechanizmów oszczędzania energii),
    * zaladowany system - oszczędzanie energii działa.

    Stacjonarka, Core i5, spory radiator na procesorze, różnica między tymi dwoma trybami to 13-15 stopni różnicy na rdzeniach...

    64-bitowy Windows XP też nie pomaga - sterowników jest niewiele (w tym do płyt/chipsetów), spora część sprzetu na prawo działać nieoptymalnie... Był to swego rodzaju testowy system.

    0
  • #7 18 Lip 2015 14:29
    Gelip
    Poziom 28  

    rzymo napisał:
    64-bitowy Windows XP też nie pomaga - sterowników jest niewiele (w tym do płyt/chipsetów), spora część sprzetu na prawo działać nieoptymalnie... Był to swego rodzaju testowy system.

    Tutaj to się możemy kłócić :-). Wygląda na to iż nie znasz tego systemu i piszesz tylko zasłyszane opinie w sieci.
    Ja używam go od długiego czasu na moim ThinkPad X61 i sprawuje się znakomicie. Jest stabilny i nie mam żadnych problemów ze sterownikami. Zalety to:
    • oparty na jądrze Windows Server 2003 64-bit więc pasują wszelkie poprawki od tego systemu
    • mimo iż jest w wersji SP2 to zawiera aktualizacje zawarte w SP3 dla wersji x86 czyli tak jakbym używał wersji SP3
    • nie ma ograniczenia użycia pamięci RAM do 3 koma coś GB
    • dzięki temu iż to system 64-bit obsługuje sprzętowo DEP
    • jeśli chodzi o sterowniki to nadają się te od systemu Vista, 7 i prawdopodobnie 8 64-bit
    • na dzień dzisiejszy wiele popularnych programów i/lub sterowników jest w wersji 64-bit więc nie ma z tym żadnego problemu
    • programy 32-bit działają bez żadnego problemu (czasami jest problem z menu kontekstowym które jest niedostępne ale to wszystko zależy od wersji programu - w nowszych wersjach działa już poprawnie)
    • czasami program jest 32-bit ale ma sterownik 64-bit np. CommView 6.5

    rzymo napisał:
    Stacjonarka, Core i5, spory radiator na procesorze, różnica między tymi dwoma trybami to 13-15 stopni różnicy na rdzeniach...

    To u mnie dokładnie to samo, normalnie temperatura jest 60-64°C a po włączeniu VPC w trybie DOS 75-80°C - znaczy że przy wielordzeniowych CPU to jest normalne.

    P.S. Między innymi dlatego iż system występuje tylko w kilku wersjach językowych (brak wersji polskiej) jest mało popularny i ma opinie systemu testowego. Według mnie jest to normalny system operacyjny.
    Porównanie jądra x64 i x86 SP2:
    Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej

    0
  • #8 18 Lip 2015 16:32
    rzymo
    Poziom 30  

    Gelip napisał:
    rzymo napisał:
    64-bitowy Windows XP też nie pomaga - sterowników jest niewiele (w tym do płyt/chipsetów), spora część sprzetu na prawo działać nieoptymalnie... Był to swego rodzaju testowy system.

    Tutaj to się możemy kłócić :-). Wygląda na to iż nie znasz tego systemu i piszesz tylko zasłyszane opinie w sieci.


    Nie wypowiadam się na temat sprzętu/softu, którego nie miałem w rękach ;)

    Na główny system "do domu" niestety się nie nadaje - wystarczy jakikolwiek mniej standardowy, czy nowszy, sprzęt i już sterowników brak... a te z nowszych systemów zazwyczaj nie działają. Sam język mi nie przeszkadza - z przyzwyczajenia i tak wszystko mam po angielsku - i system, i oprogramowanie.
    Swego czasu chciałem przy nim zostać, ale zawsze coś nie działało jak trzeba - a to tuner TV, a to skaner, a to dedykowana k. dźwiękowa

    0
  • #9 19 Lip 2015 06:58
    Gelip
    Poziom 28  

    rzymo napisał:
    Swego czasu chciałem przy nim zostać, ale zawsze coś nie działało jak trzeba - a to tuner TV, a to skaner, a to dedykowana k. dźwiękowa

    Jeśli chodzi o stare urządzenia takie jak skaner czy tuner TV to muszę przyznać Ci rację. Ale prawdę mówiąc są również takie stare urządzenia lub programy do których są tylko sterowniki dla Win9x a nie ma dla WinXP nawet w wersji 32-bit i to właśnie - jak dobrze pamiętam - tyczy się popularnego programu BTRemote do starych tunerów PCI na chipsecie bt878. Pamietam jak używałem kiedyś tego programu na Win95 czy Win98 i zawiodłem się jak zmieniłem system na WinXP. To był chyba najlepszy program do sterowania PC za pomocą pilota od tunerów PCI :-)

    0
  • #10 23 Wrz 2015 16:12
    Gelip
    Poziom 28  

    Nadal problem nie rozwiązany - ma ktoś jakiś pomysł od czego to zależy? Tu nic nie da ustawianie priorytetu bo tak jak pisałem problem występuje tylko gdy maszyna emuluje system BIOS lub MS-DOS, natomiast po odpaleniu systemu np. WinXP w tej maszynie problem ustępuje. Wkurza mnie to bo odpalam sobie maszynę w MS-DOS lub GRUB4DOS, praktycznie nie robię nic co mogło by obciążać procesor (co może obciążać procesor w linii poleceń) a tymczasem temperatura CPU w hoście jest wysoka i dlatego wentylator chodzi prawie na maxa.

    Myślę iż tu chodzi o real mode i protected mode bo jak wiadomo MS-DOS działa w real mode a WinXP w protected mode tylko czy da się jakoś ustawić komputer hosta - nie wiem w BIOS'ie lub w systemie operacyjnym aby procesor nie był aż tak używany. Przecież w systemie WinXP na biegu jałowym jest używane więcej zasobów sprzętowych niż w trybie MS-DOS gdy wyświetlany jest tylko znak zachęty A:\ a temperatura i prędkość pracy wentylatora CPU wskazuje iż procesor jest wykorzystywany w większym stopniu w trybie MS-DOS niż na biegu jałowym w WinXP - przecież to jest paranoja :-)

    Tłumaczenie łopatologiczne :-):

    - siedzę sobie na forum elektroda.pl w WinXP, temp. CPU ok. 60°C i wentylator nie działa za sprawą TPFanControl (włącza się dopiero przy 65°C)
    - nagle potrzebuję zrobić coś w MS-DOS więc odpalam np. maszynę wirtualną VMware Workstation 8.0 w MS-DOS i tu pojawia się problem - po odpaleniu MS-DOS np. z obrazu dyskietki startowej Win95 temp. CPU wskakuje nawet na 86°C (26°C więcej) i wentylator się załącza i to mnie wkurza właśnie. Zamieszczam zrzuty ekranu podczas pracy z maszynami i bez:
    Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej
    Temperatury od największej:

    • VMware Workstation 8.0 - 86°C
    • MS VPC 2007 - 80°C
    • bez maszyny - 59°C

    P.S. W pierwszym poście napisałem nieprawdę bo problem występuje również w VMware Workstation 8.0 (poprawiłem już post zgłaszając do moderatora).

    0
  • #11 23 Wrz 2015 17:39
    rzymo
    Poziom 30  

    Gelip napisał:
    Przecież w systemie WinXP na biegu jałowym jest używane więcej zasobów sprzętowych niż w trybie MS-DOS gdy wyświetlany jest tylko znak zachęty A:\ a temperatura i prędkość pracy wentylatora CPU wskazuje iż procesor jest wykorzystywany w większym stopniu w trybie MS-DOS niż na biegu jałowym w WinXP - przecież to jest paranoja :-)


    Dlaczego paranoja? Przecież MS-DOS używa max procesora.
    Pod WinXP masz już różne stany C-state, tryby oszczędzania energii. Na przykład pod XP procesor zwolni do 1.6GHz i zrzuci napięcie, a pod DOSem będzie maksymalny zegar i wyższe napięcie...

    0
  • #12 23 Wrz 2015 19:38
    Gelip
    Poziom 28  

    rzymo napisał:
    Dlaczego paranoja? Przecież MS-DOS używa max procesora.
    Pod WinXP masz już różne stany C-state, tryby oszczędzania energii. Na przykład pod XP procesor zwolni do 1.6GHz i zrzuci napięcie, a pod DOSem będzie maksymalny zegar i wyższe napięcie...

    Widzisz, może i masz rację. Ale z tymi zasobami sprzętowymi to chyba dobrze napisałem. Jest coś takiego jak SpeedStep które działa w WinXP x86 - widać to we właściwościach systemu gdzie pokazuje prędkość CPU ok. 780 MHz. W WinXP x64 jest cały czas 2.0GHz ale trafiłem ostatnio na informacje jak sprawdzić aktualną i maksymalną prędkość procesora za pomocą WMI i wychodzi mi na to iż prędkość ta jest niższa niż pokazuje karta właściwości systemu. Jest coś takiego jak wbemtest jako sposób na określenie prędkości procesora. Tutaj można przeczytać jak z tego skorzystać -> Różne sposoby określania szybkości procesora w systemach Windows XP i Windows Server 2003. Według tego narzędzia bieżąca prędkość CPU to 778MHz:
    Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej
    To chyba musi być prawda bo jak wytłumaczyć iż np. przy przeglądaniu forum elektroda.pl laptop działa bez wentylatora CPU przy temp. 59-64°C - tak jak pisałem włącza się dopiero przy 65°C za sprawą TPFanControl.

    Zresztą, dowiedziałem się o co chodzi i znalazłem rozwiązanie problemu - przynajmniej w systemie DOS. Problem z wysokim wykorzystaniem CPU przy emulacji DOS w Virtual PC jest znany i został zauważony przez firmę Connectix - producenta oprogramowania VirtualPC. Od wersji VirtualPC 4.1 w Virtual Machine Additions dla DOS można znaleźć programik o nazwie IDLE.COM, który potrafi zarządzać energią CPU - wysłać polecenie HLT do procesora. Jest on nadal dostępny w dodatkach DOS w produktach MS VPC 2004 i 2007 (w 2003 Connectix VirtualPC został wykupiony przez Microsoft). Na blogu Benjamina Armstronga (Virtual PC Guy) - Why does DOS use 100% CPU under Virtual PC? można poczytać o tym problemie.
    Znalazłem też ciekawą stronę opisującą dokładnie mój problem i to na bardzo podobnym sprzęcie - ThinkPad X60 Tablet Core2Duo: DOS guest in VirtualBox is heating up the host machine (Ulrich Hansen, October 11th, 2011)




    Wynika z niej iż problem dotyczy nie tylko MS VPC czy VMware ale również maszyny VirtualBox i to bez względu na to jaki system operacyjny jest hostem. To samo dzieje się w Windows, Linux a nawet w MAC OS. Po prostu system DOS korzysta na maxa z procesora nawet na biegu jałowym (idle).
    Z opisu wynika iż można zastosować podobny do IDLE.COM programik FDAPM. Wystarczy dodać go do AUTOEXEC.BAT w ten sposób:
    Code:
    LH FDAPM APMDOS

    i problem rozwiązany :-) - temperatura CPU utrzymuje się praktycznie na tym samym poziomie jak bez włączonej maszyny, co oznacza iż CPU nie jest teraz wykorzystywany na maxa:
    Wysokie zużycie CPU - przy uruchamianiu maszyny wirtualnej
    FDAPM jest to DOS'owy program do zarządzania zasilaniem. Można go pobrać tutaj: http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/fdapm/ (najnowsza wersja jest z 2009 roku). Krótki opis programu -> :Link
    Tak jak pisałem, problem występuje nie tylko w DOS ale np. po wejściu do ustawień BIOS, w GRUB4DOS a nawet podczas instalacji WinXP w pierwszej, tekstowej fazie. Na szczęście w tych momentach nie używamy komputera długo i można to przeboleć. Podejrzewam iż problem dotyczy nie tylko DOS odpalonego w maszynie wirtualnej ale i w prawdziwej maszynie i program FDAPM też będzie wówczas pomocny.
    Wygląda na to iż problem daje się mocno we znaki w laptopach ThinkPad ze względu na sposób działania wentylatora CPU.
    Zanim znalazłem rozwiązanie z FDAPM próbowałem innych sposobów ale żaden nie pomógł:
    • zmiana opcji zasilania w CMOS komputera Hosta - nie zauważyłem różnicy w działaniu komputera
    • zmiana opcji zasilania w CMOS komputera Gościa - w MS VPC jest takie ustawienie o nazwie Power Management/APM - domyślnie ustawione na Enabled. Niestety obojętnie czy jest włączone czy nie - nie rozwiązuje to problemu
    • zmiana opcji Performance w MS VPC - co bym nie ustawił to nic nie daje no może odrobinę temperatura jest mniejsza (o jakieś 3°C) ale wraz za wysoka - bo ok. 77°C

    Podobny problem został zauważony w GRUB: https://forums.virtualbox.org/viewtopic.php?f=1&t=19732
    oraz w systemie Linuks: Solution to 100% CPU Usage by Linux Guest on VMWare Fusion
    W przypadku Linuksa ma to chyba związek z driftingiem czasu TSC (Time Stamp Counter). VMware udostępnia ciekawy przewodnik PDF pod tytułem Timekeeping in VMware Virtual Machines
    P.S. Z problemem TSC spotkałem się już na tym samym komputerze w maszynie VMware 5 lub 6 o czym pisałem tutaj na forum: VMware i NUMA node - jak ustawić? tyle że wówczas problem dotyczył niestabilności działania maszyny a nie konkretnie zużycia CPU.

    0