przetwarzanie rozproszone - boinc

FORUM BOINC

Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Witaj na forum poświęconemu wspieraniu nauki poprzez platformę BOINC. Pobierz i zacznij zmieniać świat od teraz
Nasza strona na Facebooku - poleć znajomym.
Strony: [1]

ntvdm.exe (Przeczytany 76586 razy)

AL

  • Okrrrutny Newsman
  • Newsmani
  • Kalkulator
  • ***
  • Offline Offline
  • Wiadomości: 5 556
  • Avatar forum naukowego
  • Crazy Pirat!!!

    ntvdm.exe

    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?
    edit: 12 Listopad 2011, 01:11 - GRID

    miszol

    • Bywalec forum
    • *****
    • Offline Offline
    • Wiadomości: 169
    • Avatar forum naukowego

      ntvdm.exe

      Odpowiedź #1 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ę...

      Mchl

      • Administrator
      • BOINC Fanatyk
      • *
      • Offline Offline
      • Wiadomości: 3 746
      • Avatar forum naukowego

        ntvdm.exe

        Odpowiedź #2 19 Wrzesień 2007, 06:55
        Może spróbuj DosBOXa?

        [PBT] Horpah

        • Młodszy Liczydłowy
        • *
        • Offline Offline
        • Wiadomości: 572
        • http://www.fioletowamagia.pl/zdjecia/avatar.gif

          ntvdm.exe

          Odpowiedź #3 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
          • Avatar forum naukowego

            ntvdm.exe

            Odpowiedź #4 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.

            miszol

            • Bywalec forum
            • *****
            • Offline Offline
            • Wiadomości: 169
            • Avatar forum naukowego

              ntvdm.exe

              Odpowiedź #5 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:

              TJM

              • Grupa Reagowania Operacyjno-Manewrowego
              • BOINC Fanatyk
              • *****
              • Offline Offline
              • Wiadomości: 3 055
              • Avatar forum naukowego
              • Smokin` 5 clients to nachapać more

                ntvdm.exe

                Odpowiedź #6 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 :/

                PMG

                • Bywalec forum
                • *****
                • Offline Offline
                • Wiadomości: 310
                • Avatar forum naukowego

                  ntvdm.exe

                  Odpowiedź #7 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.

                  [PBT] Horpah

                  • Młodszy Liczydłowy
                  • *
                  • Offline Offline
                  • Wiadomości: 572
                  • http://www.fioletowamagia.pl/zdjecia/avatar.gif

                    ntvdm.exe

                    Odpowiedź #8 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
                    • Wiadomości: 5 556
                    • Avatar forum naukowego
                    • Crazy Pirat!!!

                      ntvdm.exe

                      Odpowiedź #9 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
                      • Wiadomości: 572
                      • http://www.fioletowamagia.pl/zdjecia/avatar.gif

                        ntvdm.exe

                        Odpowiedź #10 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.
                        edit: 26 Grudzień 2011, 21:38 - GRID

                        Mchl

                        • Administrator
                        • BOINC Fanatyk
                        • *
                        • Offline Offline
                        • Wiadomości: 3 746
                        • Avatar forum naukowego

                          ntvdm.exe

                          Odpowiedź #11 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

                          GONZO

                          • Bywalec forum
                          • ***
                          • Offline Offline
                          • Wiadomości: 84
                          • Avatar forum naukowego

                            ntvdm.exe

                            Odpowiedź #12 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   )!

                            D_T_G

                            • Młodszy Liczydłowy
                            • *
                            • Offline Offline
                            • Wiadomości: 448
                            • Avatar forum naukowego

                              ntvdm.exe

                              Odpowiedź #13 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.

                              GONZO

                              • Bywalec forum
                              • ***
                              • Offline Offline
                              • Wiadomości: 84
                              • Avatar forum naukowego

                                ntvdm.exe

                                Odpowiedź #14 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.
                                edit: 12 Listopad 2011, 01:12 - GRID
                                Strony: [1]   Do góry

                                GoogleTagged


                                SMF spam blocked by CleanTalk

                                Hosting dzięki uprzejmości InnerVision sp. z o.o.
                                SMF © 2011, Simple Machines