BOINC@Poland

Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Szukanie zaawansowane  

Aktualności:

Czy uczestniczysz w Projekcie miesiąca?

Strony: [1]   Do dołu

Autor Wątek: ntvdm.exe  (Przeczytany 78214 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

AL

  • Okrrrutny Newsman
  • Newsmani
  • Kalkulator
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 5 555
  • Crazy Pirat!!!
    • Zobacz profil
    • Moja strona domowa
ntvdm.exe
« dnia: 19 Wrzesień 2007, 02:46 »

Mam problem z takim procesem - ntvdm.exe. Z tego co wygooglałem - to proces odpowiedzialny za emulację programów ze środowiska dosowego na windowsach. Po odpaleniu xp wszystko ładnie śmiga - aż do momentu uruchomienia starej aplikacji pod dos, wtedy włącza się ten proces i zaczyna pożerać 100% mocy procesora i nie zostaje już nic dla BOINC'a! Dodam tylko, że ta aplikacja dosowa - to nie jest żadne superwymagające cudo - tylko program sprzedażowy. W związku z czym nie powinien on sam zużywać więcej niż kilka czy kilkanaście % mocy procesora - nie mówiąc oczywiście o chwilowych "pikach" do 100%. Tymczasem po uruchomieniu tego dosowego programiku sprzedażowego - uruchamia się proces ntvdm.exe - i cały czas męczy procka ile wlezie. Macie jakieś pomysły jak wyeliminować procesochłonność tego procesu?
« Ostatnia zmiana: 12 Listopad 2011, 01:11 wysłana przez GRID »
Zapisane

miszol

  • Bywalec forum
  • *****
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 169
    • Zobacz profil
    • http://www.civ.org.pl
ntvdm.exe
« Odpowiedź #1 dnia: 19 Wrzesień 2007, 03:10 »

miałem podobny przypadek - odpalałem stare gry pod dosa w emulatorze i tez pochłaniał on 100% mocy procka - z tego co udało mi się zorientować to tego typu emulatory już tak mają, ale możliwe że się mylę...
Zapisane

Mchl

  • Administrator
  • BOINC Fanatyk
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 3 760
    • Zobacz profil
    • http://mchl.republika.pl
ntvdm.exe
« Odpowiedź #2 dnia: 19 Wrzesień 2007, 06:55 »

Może spróbuj DosBOXa?
Zapisane

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

[PBT] Horpah

  • Młodszy Liczydłowy
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 572
    • Zobacz profil
ntvdm.exe
« Odpowiedź #3 dnia: 19 Wrzesień 2007, 09:18 »

to wygląda na błąd systemu, SP2 pewnie masz więc zaktualizuj o najnowsze łatki

PMG

  • Bywalec forum
  • *****
  • Offline Offline
  • Wiadomości: 310
    • Zobacz profil
    • http://www.actionmag.pl
ntvdm.exe
« Odpowiedź #4 dnia: 19 Wrzesień 2007, 10:43 »

A to nie jest tak że tak powinno być ? Programy dosowe przecież były tak skonstruowane ze brały 100 % mocy.
Zapisane
Wikipedia - tam też można czytać o okrętach

miszol

  • Bywalec forum
  • *****
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 169
    • Zobacz profil
    • http://www.civ.org.pl
ntvdm.exe
« Odpowiedź #5 dnia: 19 Wrzesień 2007, 11:22 »

Cytat: "Mchl"
Może spróbuj DosBOXa?


właśnie używając DosBOX'a obciążenie procka było 100%  :roll:
Zapisane

TJM

  • Grupa Reagowania Operacyjno-Manewrowego
  • BOINC Fanatyk
  • *****
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 3 057
  • Smokin` 5 clients to nachapać more
    • Zobacz profil
    • Enigma@Home
ntvdm.exe
« Odpowiedź #6 dnia: 19 Wrzesień 2007, 21:53 »

Ja często używam twinexpressa w dosowym okienku i jest identycznie. Nawet jak program stoi z command promptem i nic nie robi, wciąga 100% procesora :/
Zapisane

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

PMG

  • Bywalec forum
  • *****
  • Offline Offline
  • Wiadomości: 310
    • Zobacz profil
    • http://www.actionmag.pl
ntvdm.exe
« Odpowiedź #7 dnia: 20 Wrzesień 2007, 09:28 »

Problemem przy wprowadzaniu Windowsa 95 było to ze programy DOSowe były przystosowane do jednowątkowości - więc one sie nie przejmowały i wciągały całe 100 % mocy procesora - bo nikt i tak nie mógł im jej zabrać. Nie wiem jak działają emulatory ale z waszych słów wynika ze te programy umożliwiają uruchomienie aplikacji dosowych w windowsie w którym jeszcze coś może chodzić. Ale 100 % wciągania proca to chyba jest całkowicie normalne - no chyba ze te emulatory jeszcze jakoś by ograniczały sięi udawału ze powiedzmy 25 % mocy proca w windowsie to 100% dla Dosa.
Zapisane
Wikipedia - tam też można czytać o okrętach

[PBT] Horpah

  • Młodszy Liczydłowy
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 572
    • Zobacz profil
ntvdm.exe
« Odpowiedź #8 dnia: 20 Wrzesień 2007, 11:34 »

tak mnie to zaciekawiło, że sam sprawdziłem.
Mam tu taki dosowy program do kopiowania dyskietek, a więc uruchomiłem go
przy starcie program dos pochłania całą dostępną moc procesora, w czasie pracy także, gdy jest uruchomiony ale nic nie robi to zużywa do 1 % mocy procesora.
AL rozwiązaniem twego problemu jest zamontowanie do komputera procesora min. dwurdzeniowego wtedy program dosowy wykorzystuje tylko jeden rdzeń a drugi może dalej spokojnie liczyć boinc.

AL

  • Okrrrutny Newsman
  • Newsmani
  • Kalkulator
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 5 555
  • Crazy Pirat!!!
    • Zobacz profil
    • Moja strona domowa
ntvdm.exe
« Odpowiedź #9 dnia: 20 Wrzesień 2007, 13:35 »

PBT_Horpah - to niestety na tym hoście akurat niestety nie wchodzi w grę.

[PBT] Horpah

  • Młodszy Liczydłowy
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 572
    • Zobacz profil
ntvdm.exe
« Odpowiedź #10 dnia: 20 Wrzesień 2007, 13:57 »

Możesz także użyć programu do limitowania przydziału procesora dla tego programu dosowego.
Mam na myśli np. program ThreadMaster, umożliwia on ustawienie w windzie dla wybranej aplikacji  czasu procesora.
« Ostatnia zmiana: 26 Grudzień 2011, 21:38 wysłana przez GRID »
Zapisane

Mchl

  • Administrator
  • BOINC Fanatyk
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 3 760
    • Zobacz profil
    • http://mchl.republika.pl
ntvdm.exe
« Odpowiedź #11 dnia: 20 Wrzesień 2007, 20:43 »

Cytat: "PBT_Horpah"
AL rozwiązaniem twego problemu jest zamontowanie do komputera procesora min. dwurdzeniowego wtedy program dosowy wykorzystuje tylko jeden rdzeń a drugi może dalej spokojnie liczyć boinc.


Do czasu aż przyjdzie mu do głowy jednocześnie uruchomić dwa programy DOSowe... Wtedy przyjdzie rada "przejdź na cztery rdzenie"... I tak w koło Macieju :D
Zapisane

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

GONZO

  • Bywalec forum
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 84
    • Zobacz profil
ntvdm.exe
« Odpowiedź #12 dnia: 21 Wrzesień 2007, 13:31 »

O ile dobrze pamietam, to jest stary  i dobrze znany problem pod Windowsami. Jak Ktoś dobrze zauważył w czasach dobrego DOS-a niekt się nie przejmował aplikacjami wielowątkowymi.

Problem wynika z cyklicznego odczytywania zegara oraz z zapętlenia procedury (funkcji) do wykrycia czy był naciśnięty jakikolwiek klawisz.  Zamiast pętli lepiej byłoby użyć odczytywanie odpowiedniego przerwania i metody "event" (?).

Niektóre programy do sprzedaży miały możliwość wyłączenia zegarka (nieznacznie pomaga), ale zmiana sposobu odczytywania klawiatury bez ingerencji w program raczej mała szansa.
Można zwiększyć w BIOS-ie szybkość czytania klawiatury (max 30znaków/s), pozornie  to zwiększy szybkość reakcji komputera, ale obciążenia i tak będzie 100%.
Nowsze aplikacje DOS-owe (potocznie nazywane DOS-owe 32bitowe) są staranniej napisane (a raczej były napisane, gdy już był znany ten problem) i generują tylko chwilowe piki po 100%.

(Do zabawy polecam program NORTON COMMANDER - tam można wyłączyć pokazywanie zegarka - to wtedy widać jak spada zużycie procesora, ale wystarczy naciśnać klawisz  - a skoczy do 100%)

Natomiast co dwurdzeniowości i HT to wszystko zależy od programu, wiekszość DOS-owych tego bardzo nie lubi (np. SUBIEKT4 - na stronie producenta specjalna łatka). Ewentualnie ustawić koligację procesu na jeden procesor, ale nie wiem jak to przypisać na stałe.

Wydaje mi się z dwurdzeniowych procesorów lepiej sprawuje sie AMD, a to ze względu, że był kiedyś znany taki problem z grami (chyba Need For Speed któraś tam wersja) i została wypuszczona specjalna łatka, która miała likwidować (zmiejszyć) skutki dwujajeczności. Dzięki temu a także przy okazji poprawiło się programom DOS-owym.

W swoim paskudnym życiu popełniełem ponad (od 86r) kilkaset instalacji różnych programów DOS-owych w różnych sieciach i jak do tej pory nie spotkałem się z rozwiązniem tego problemu. Oczywiście jak to w komputerach mogę oczymś nie wiedzieć -  i trzeba szukać (googlować  :D   )!
Zapisane

D_T_G

  • Młodszy Liczydłowy
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 448
    • Zobacz profil
ntvdm.exe
« Odpowiedź #13 dnia: 21 Wrzesień 2007, 14:47 »

No a w DOSBoksie też się tak dzieje?

Cytuj
In general, the [NT]VDMs and similar technologies do not satisfactorily run many older DOS programs on today's computers. (...)

A common solution to these problems is to use a full CPU emulator such as DOSBox. The disadvantage is that it does not allow a totally transparent integration with the host operating system and it is slower.
Zapisane

GONZO

  • Bywalec forum
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 84
    • Zobacz profil
ntvdm.exe
« Odpowiedź #14 dnia: 21 Wrzesień 2007, 17:10 »

Wirtualna maszyna DOS jest środowiskiem emulacji systemu MS-DOS i 16-bitowego systemu Windows, używanym przez starsze aplikacje. Aktywne procesy 16-bitowe są widoczne jako wątki procesu maszyny wirtualnej DOS systemu Windows (NTVDM). Poza aplikacjami 16-bitowymi, proces NTVDM zawiera wątek "pulsu", który co 55 milisekund symuluje przerwanie zegarowe (18 razy/s), oraz wątek Wowexec.exe, który pozwala na wykonywanie zadań 16-bitowych i obsługę dostarczania 16-bitowych przerwań. Właśnie ten wątek umożliwia działanie 16-bitowych aplikacji w 32-bitowym środowisku Windows. Podsystem WOW jest udostępniany przez proces NTVDM, w którym działają poszczególne aplikacje Win16. Podczas monitorowania tych aplikacji będą widoczne również wątki pulsu oraz Wowexec.

W danej chwili może działać tylko jeden z wątków 16-bitowych aplikacji działających w procesie NTVDM. Jeżeli wątek którejś z tych aplikacji jest uprzywilejowany, to NTVDM zawsze przywraca mu sterowanie. Ogranicza to wydajność aplikacji 16-bitowych działających równocześnie w tym samym procesie NTVDM, jednakże ograniczenie to jest widoczne jedynie wówczas, gdy procesor jest mocno obciążony (tzn. wiele uruchomionych aplikacji).

Ze względu na to, że aplikacje 16-bitowe działają w jednym procesie, ich monitorowanie może być utrudnione. Konieczne jest rozróżnienie poszczególnych wątków procesu NTVDM. Systemy Windows umożliwiają uruchamianie aplikacji 16-bitowych w oddzielnych procesach NTVDM, we własnej przestrzeni adresowej. 16-bitowe aplikacje Windows można monitorować identyfikując je na podstawie ich identyfikatorów wątków lub uruchamiając je w oddzielnych przestrzeniach adresowych.

Systemy Windows umożliwiają uruchomienie 16-bitowej aplikacji Windows w oddzielnym, prywatnym procesie NTVDM, który posiada własną przestrzeń adresową. Eliminuje to współzawodnictwo pomiędzy wątkami w jednym procesie NTVDM, umożliwiając w ten sposób w pełni wielozadaniowe działanie aplikacji 16-bitowych. Aby uruchomić aplikację 16-bitową w oddzielnej przestrzeni adresowej, należy:

W wierszu poleceń napisać: start /separate nazwa_procesu (ewentualnie w *.bat)

Jeżeli wydajność aplikacji MS-DOS w systemach Windows  nie jest zadowalająca, można próbować zmodyfikować pewne ich ustawienia:

1) wybrać wyświetlanie aplikacji na pełnym ekranie, co zwiększa wydajność operacji wiązanych z wyświetlaniem obrazu, (MODE CON COLS=80 LINES=25). Zauważyłem, że niektóre karty VGA (np. S3) na PCI takjakby szybciej pracują (odświeżają ekran) w trybie pełnoekranowym, niż dużo lepsze karty na AGP lub PCI Express. Jeśli głównym zadaniem komputera są aplikacje 16-bitowe, to można zaeksperymentować.
2) wyłączyć funkcję emulacja zgodnego czasomierza sprzętowego, która zawsze powoduje spadek wydajności.  (dotyczy to Windowsa NT, w XP nie wiem gdzie to jest, ale prawdopodobnie można by to poszukać w rejestrze),
3) należy spróbować zmniejszyć poziom wykrywania bezczynności, wyłączyć tryb szybkiego wklejania,
4) Aplikacje DOS-owe korzystającą z drukarki, należy skonfigurować do portu LPT1 lub LPT2
zamiast portu równoległego. Większość aplikacji skonfigurowanych do używania portu LPT
korzysta z przerwania Int17, natomiast po wybraniu portu równoległego drukują one
bezpośrednio do drukarki.
 
Podsumowanie:
W zasadzie jesteśmy bezradni i wszystko zależy jak aplikacje 16-bitowe zostały napisane:

Jeśli czekają na znak z klawiatury korzystając z procedur systemowych to nie zabierają czasu procesora (np. za pomocą funkcji DOS'a INT21H - to system potrafi rozpoznać tą pętle i zdjąć z niej priorytet po pewnym czasie). Inne, które w "głupich pętlach" sprawdzają non stop stan klawiatury powodują że, procesor nie potrafi rozpoznać, czy jest to funkcja jalowa, czy też użyteczna i  OS będzie na 100% obciążony. Zmiana priorytetu procesu z high na low wg mnie nie wiele pomoże, lepiej zamknąć nie potrzebne aplikacje.

A jak nic nie pomoże, to pozostaje jeszcze www.tamedos.com
Zaznaczam, że korzystałem szeroko z różnych tekstów z internetu, jeśli kogoś uraziłem korzystając z jego materiałów - to przepraszam, ale zrobiłem to w celu krzewienia starożytnej wiedzy o DOS-ie. Oczywiście, nie mam patentu na wiedzę i mogę sie w wielu kwestiach mylić.

Niestety muszę kończyć - Żona mnie woła.
« Ostatnia zmiana: 12 Listopad 2011, 01:12 wysłana przez GRID »
Zapisane
Strony: [1]   Do góry
 

SMF spam blocked by CleanTalk