Dlaczego ponowne uruchomienie komputera rozwiązuje problemy?

17

Tytuł mówi „usiądź wszyscy”, ale dlaczego ponowne uruchomienie komputera ma tendencję do naprawy? Wygląda na to, że informatycy zawsze pytają: „Czy uruchomiłeś ponownie komputer?” Ale dlaczego?

RSolberg
źródło
I tak .... To była kiepska sztuczka, aby zdobyć trochę przedstawicieli na SU, gdy strona została uruchomiona ...
RSolberg

Odpowiedzi:

20

Zasadniczo dlatego, że wszystko, co wpada w bałagan, ma szansę zacząć od nowa. Wyobraź sobie, że robisz tosty i je spalasz. Wyrzucenie go i rozpoczęcie od nowa jest jednym ze sposobów rozwiązania tego problemu i zawsze będzie działać lepiej niż zeskrobanie przypalonych kawałków tostów.

Tom Robinson
źródło
1
i też smaczne! jak pizza, którą upuściłeś, zanim trafiła do piekarnika ... o wiele lepiej nie zbierać całego tartego sera i sosu pomidorowego .. oh, myślę, że poszedłem za daleko ..
geocoin
Czy ktoś może wymyślić lepszą, ale podobną analogię? Nie jestem w 100% zadowolony z tego.
Tom Robinson
Tak, ponowne uruchomienie komputera jest jak zeskrobanie spalonych kawałków z tostów i włożenie ich z powrotem do tostera. To, co opisałeś, to ponowna instalacja systemu ;-)
DisgruntledGoat
3
Ok, wyobraź sobie, że masz tablicę, na której jest miejsce na napisanie 5 rzeczy, które musisz zrobić. Co jakiś czas wyszorujesz ukończone zadanie i zastępujesz je nowym. Teraz powiedz, że przypadkowo podniosłeś stały marker zamiast rozpuszczalnego w wodzie, aby napisać nowe zadanie. Kiedy przychodzisz, aby wyszorować to zadanie, nie możesz, dopóki nie wytrzesz całej deski czystym alkoholem. Ponowne uruchomienie komputera jest „takie samo” jak czyszczenie tablicy, usuwa cały „zablokowany” kod
David Hayes
Kontynuując konkurs na analogię, możesz spróbować zebrać rozlane mleko z powrotem do kubka lub nalać sobie kolejną szklankę mleka.
emallove
8

Jednym z głównych powodów spowolnienia pracy komputera jest użycie pamięci RAM. Zarówno system operacyjny, jak i uruchomione programy korzystają z pamięci RAM. Jest go jednak tylko tyle i można uzyskać do niego szybki dostęp. Jeśli komputer próbuje zużywać dużo pamięci RAM (często więcej niż jest dostępne), spowalnia. Musi utworzyć dodatkowe pliki wymiany na dysku twardym, aby działały jako dodatkowe, ale mniej wydajne „RAM”. Powoduje to między innymi spowolnienie komputera.

Zamknięcie niektórych programów powinno zwolnić miejsce w pamięci RAM, ale mogło dojść do wycieków pamięci . Oznacza to, że program mógł przypadkowo zająć pamięć RAM, której nie zwolnił / nie mógł zwolnić po zamknięciu. „Ahhh”, mówisz, „pochłonie całą moją pamięć RAM!” Nie. Po ponownym uruchomieniu komputera cała pamięć RAM zostanie wyczyszczona. Masz więcej dostępnej pamięci RAM, więc komputer może działać szybciej.

Istnieją również inne problemy, które można naprawić również przez ponowne uruchomienie. Na przykład, jeśli program w jakiś sposób zacznie wykorzystywać ogromną liczbę cykli procesora (każdy cykl składa się z obliczeń, a wszystkie te obliczenia powodują, że komputer „oblicza”, inaczej działa). Po ponownym uruchomieniu komputera kontrola procesora jest bezwarunkowo przekazywana bootloaderowi, a następnie przekazywana do systemu operacyjnego, który może zacząć od zera. Nie jest już zdominowany przez chciwy program.

Jeszcze inną możliwością jest przegrzanie komputera. Po prostu przegrzanie nie jest dobre dla komputera. Wyłączenie urządzenia i pozostawienie go na kilka minut do ostygnięcia nie zaszkodziło. W rzeczywistości niektóre (jeśli nie wszystkie) komputery są ustawione na wyłączenie, jeśli osiągną określoną temperaturę wewnętrzną.

Podsumowując, restart uruchamia komputer w stanie, w którym odpowiednie oprogramowanie kontroluje właściwy (prawdopodobnie chłodniejszy) sprzęt, w stanie, w którym już wiadomo, że działa poprawnie.

czerstwypretzel
źródło
Kiedyś miałem Dell Inspiron z Pentium 4 w środku. Latem czasami wyłączał się bez ostrzeżenia. Okazało się, że kurz nagromadził się w środku, powodując jego podgrzanie, aż
osiągnie
1
Problem wycieku pamięci nie jest tak naprawdę istotny w przypadku jakiegokolwiek systemu operacyjnego opartego na systemie NT (Windows 2000 i nowszym) lub Linux. Jasne, że kiedyś tak było w przypadku DOS, ale współczesne systemy operacyjne odzyskają całą pamięć, do której przydzielono program, wyciekł lub nie, gdy zostanie zamknięty *. Teoretycznie jest to problem dla usług i tym podobnych, ale są one na ogół dość solidne. * Ponieważ algorytmy alokacji pamięci te systemy operacyjne nie są prostymi przydziałami pamięci, których można się spodziewać.
user2630,
6

Dobre pytanie! Krótka odpowiedź brzmi „to zależy”

Dłuższą odpowiedzią jest to, że system Windows ma ograniczone zasoby, z których mogą korzystać aplikacje (pamięć, uchwyty okien, uchwyty plików itp.), Jeśli źle napisana aplikacja nie zwraca tych zasobów systemowi Windows po zakończeniu pracy. Powoduje to problemy z innymi aplikacjami. Oczywiście to samo dotyczy również wszystkich innych systemów operacyjnych

David Hayes
źródło
6

Dwa powody:

  • System operacyjny i oprogramowanie zaczynają się od czystego konta
  • Wszelkie aktualizacje lub instalacje systemu / sterownika, które miały miejsce od ostatniego restartu, mogą wymagać szansy na włączenie się do sekwencji rozruchowej
jerryjvl
źródło
3

Wiem, że to starożytny wątek, ale wydaje mi się, że ten post od dewelopera Microsoft wyjaśnia, dlaczego:

  1. Ponowne uruchomienie jest często konieczne po aktualizacji / zmianie oprogramowania.
  2. To jest z założenia.
  3. Tak powinno być.
  4. Jest to lepsze niż alternatywa (i sposób działania alternatywy).

Stopniowe spowolnienie i inne problemy wymagające ponownego uruchomienia często można przypisać wyciekom pamięci . W przeciwieństwie do komentarzy @ user2630, jest to nadal bardzo realny problem we współczesnym systemie Windows. Albo z usług / komponentów systemu, które pozostają uruchomione, co uniemożliwia ich odzyskanie pamięci przy zamknięciu, lub po prostu z wielu uruchomionych aplikacji uruchomionych przez użytkownika, przecieki zdarzają się cały czas - czasem poważnie. W drugim przypadku uruchamiania aplikacji informatykowi często łatwiej jest powiedzieć „po prostu uruchom ponownie”, zamiast „zamknąć wszystkie aplikacje, sprawdzić pasek zadań, aby upewnić się, że naprawdę ich nie ma, upewnić się, że” nie uruchamiasz żadnych procesów ani usług w tle ... ”masz pomysł.

Jak wspomniano w innym miejscu tutaj, wiele innych problemów wymagających ponownego uruchomienia wynika ze zwykłego, złego / uszkodzonego oprogramowania (zawieszone usługi, nieskończone oczekiwanie na współdzielone zasoby itp.). Myślę jednak, że przecieki i oczekujące zmiany w bibliotece wyjaśniają większość problemów związanych z ponownym uruchomieniem płyty rozruchowej.

Zac B
źródło
Dzięki za link do artykułu Raymonda Chena. Nie sądzę, aby twoje streszczenie dokładnie odzwierciedlało poglądy autora. Nie twierdzi , że tak powinno być . Konkluzja: „Więc nie chodzi o to, że Windows musi zrestartować się po zastąpieniu używanego pliku. Tyle, że wolałby nie radzić sobie ze złożonością, która się pojawi, jeśli tego nie zrobi. Inżynieria to zestaw kompromisów”. Zastanawiam się: jakie kompromisy wybrali programiści Linuksa? (Linux jest znany z tego, że wymaga rzadszego restartowania). Czy radzą sobie ze złożonością, czy po prostu psują rzeczy?
Iain Samuel McLean Starszy
To jest opinia, ale przychodzi mi na myśl kilka rzeczy: systemy Linux, które aktualizują biblioteki w miejscu, mogą często pozostawić uruchomione inne programy, które są powiązane ze starymi wersjami tych bibliotek. Istnieje wiele systemów, które próbują temu zapobiec, ale złożoność omawiana w poście Microsoft jest nadal obecna i nie zawsze jest abstrakcyjna, więc wzdęcia w wersji bibliotek występują często, na lepsze lub gorsze.
Zac B
Linux dąży również do bardziej rygorystycznego reżimu modułowości zależności, zamiast rozprzestrzeniać biblioteki „używane przez wszystko, co kiedykolwiek”. Te nadal istnieją (podobnie jak problemy spowodowane przez uaktualnienia w miejscu prowadzące do problemów związanych z przeładowaniem), ale są mniej rozpowszechnione niż w systemie Windows. IMO, duża część tego zmniejszonego rozpowszechnienia ma związek z tym, że Windows jest rozwijany w znacznie bardziej aglomerowany sposób (z trwałym celem wstecznej kompatybilności) niż Linux, który ma architekturę, która, jeśli nie bardziej spójna, zwykle wchodzi w interakcję z bardziej spójny sposób.
Zac B
TL; DR: Linux często czyni kompromis na korzyść rygorystyczności i czasu programowania niezbędnego do zaangażowania się w wspomnianą złożoność. Pomaga także modularna, spójna architektura.
Zac B
MinWin wydaje się być pchnięciem Microsoftu w tym samym kierunku. Robert McLaws w systemie Windows Server Core: „Microsoft zaczął wykreślić cały wykres zależności systemu Windows. Gdy zobaczyli rzeczy, które zaczęły wywoływać stos, gdy nie powinny, przeorganizowali interfejsy API, aby stworzyć czysty rozdział w systemie operacyjnym MinWin jest wynikiem tej pracy. Nie jest to całkowite przepisanie jądra, ale reorganizacja interfejsów API, tak aby komponenty tylko wywoływały stos, a nie zwiększały go. ”
Iain Samuel McLean Starszy
2

Czy kiedykolwiek oglądałeś „IT Crowd”?

Pracownicy działu IT używają „Spróbuj ponownie uruchomić” jako pierwszej odpowiedzi, ponieważ:

  1. Często sprawi to, że problem zniknie, przynajmniej tymczasowo.
  2. Nie muszą podejmować żadnych dalszych wysiłków.
  3. Nie muszą mieć bezpośredniego kontaktu z człowiekiem.
Popiół
źródło
1
moja żona pracowała w miejscu, w którym „czy próbowałeś ją wyłączyć i włączyć” była oficjalna pierwsza odpowiedź. Miała problem, który powodował, że jej pulpit wyświetlał niebieski ekran, powodując regularne utratę pracy, jednak nigdy nie mogła naprawić, ponieważ „wyłączał i włączał” zawsze ”naprawiał niebieski ekran!
geocoin
-1

Prawdopodobnie do wyczyszczenia pamięci RAM

Kaczor
źródło