เหตุใดการรีสตาร์ทคอมพิวเตอร์จึงแก้ไขสิ่งต่างๆ


17

ชื่อบอกว่านั่งทั้งหมด แต่ทำไมการรีสตาร์ทคอมพิวเตอร์จึงมีแนวโน้มที่จะแก้ไขสิ่งต่าง ๆ ดูเหมือนว่าคนไอทีมักถามว่า "คุณรีสตาร์ทพีซีของคุณหรือไม่" แต่ทำไม


และใช่ .... นี่เป็นวิธีง่อยที่จะได้รับตัวแทนจาก SU เมื่อเว็บไซต์เปิดตัว ...
RSolberg

คำตอบ:


20

โดยพื้นฐานเพราะสิ่งที่เกิดความยุ่งเหยิงทำให้มีโอกาสเริ่มต้นใหม่ ลองนึกภาพคุณกำลังทำขนมปังปิ้งและเผามัน การทิ้งและเริ่มใหม่อีกครั้งเป็นวิธีหนึ่งในการแก้ไขปัญหานั้นและจะทำงานได้ดีกว่าการขูดเศษขนมปังปิ้งที่ถูกไฟไหม้


1
และอร่อยด้วย! เหมือนพิซซ่าที่คุณทิ้งไว้ก่อนที่มันจะเข้าไปในเตาอบ ... ดีกว่าที่จะไม่เก็บชีสและซอสมะเขือเทศทั้งหมด .. โอ้รอฉันคิดว่าฉันไปไกลเกินไป ..
geocoin

ทุกคนสามารถเกิดขึ้นได้ด้วยการเปรียบเทียบที่ดีกว่า แต่คล้ายกัน? ฉันไม่ได้มีความสุข 100% กับอันนี้
Tom Robinson

ใช่การรีสตาร์ทคอมพิวเตอร์ของคุณเป็นเหมือนการขูดเศษชิ้นส่วนที่ถูกเผาออกจากขนมปังปิ้งและนำกลับไปใส่ในเครื่องปิ้งขนมปัง สิ่งที่คุณอธิบายคือติดตั้งระบบปฏิบัติการใหม่ ;-)
DisgruntledGoat

3
ลองจินตนาการว่าคุณมีกระดานไวท์บอร์ดที่คุณมีพื้นที่ว่างในการเขียน 5 สิ่งที่คุณต้องทำ บ่อยครั้งที่คุณลบล้างงานที่คุณทำและแทนที่ด้วยงานใหม่ ทีนี้สมมติว่าคุณบังเอิญหยิบปากกามาร์กเกอร์แทนที่จะเขียนด้วยน้ำเพื่อเขียนงานใหม่ของคุณ เมื่อคุณเข้ามาขัดภารกิจนี้คุณจะทำไม่ได้จนกว่าคุณจะเช็ดทั้งกระดานให้สะอาดด้วยแอลกอฮอล์ การรีสตาร์ทคอมพิวเตอร์ของคุณคือ "เหมือนกัน" เหมือนกับการเช็ดกระดานให้สะอาดมันจะลบโค้ด "ที่ติดอยู่" ออกทั้งหมด
David Hayes

คุณสามารถลองรวบรวมนมที่หกแล้วกลับเข้ามาในถ้วยหรือคุณสามารถเทนมอีกแก้วได้
emallove

8

หนึ่งในสาเหตุหลักที่ทำให้คอมพิวเตอร์ของคุณช้าลงคือการใช้หน่วยความจำเข้าถึงโดยสุ่ม (RAM) ระบบปฏิบัติการเช่นเดียวกับโปรแกรมที่คุณใช้ทั้งหมดใช้ RAM อย่างไรก็ตามมีเพียงจำนวนมากเท่านั้นและสามารถเข้าถึงได้อย่างรวดเร็วเท่านั้น หากคอมพิวเตอร์ของคุณพยายามที่จะใช้ RAM จำนวนมาก (มักจะมีให้มากกว่านั้น) มันจะช้าลง จำเป็นต้องสร้างไฟล์swapพิเศษของไฟล์บนฮาร์ดไดรฟ์เพื่อทำหน้าที่เป็น "RAM" พิเศษ แต่มีประสิทธิภาพน้อยกว่า สิ่งนี้ทำให้คอมพิวเตอร์ของคุณช้าลง

การปิดบางโปรแกรมควรเพิ่มพื้นที่ว่าง RAM แต่อาจมีการรั่วไหลของหน่วยความจำ ซึ่งหมายความว่าโปรแกรมอาจใช้ RAM โดยไม่ได้ตั้งใจซึ่งไม่ได้ / ไม่สามารถเพิ่มได้เมื่อปิด "Ahhh" คุณพูดว่า "มันจะกินแรมทั้งหมดของฉัน!" Nope หากคุณรีสตาร์ทคอมพิวเตอร์ RAM ทั้งหมดจะถูกล้างออก คุณมี RAM ที่ใช้งานได้มากขึ้นเพื่อให้คอมพิวเตอร์ของคุณสามารถทำงานได้เร็วขึ้น

มีปัญหาอื่น ๆ ที่สามารถแก้ไขได้ด้วยการรีสตาร์ทเช่นกัน ตัวอย่างเช่นหากโปรแกรมเริ่มใช้รอบตัวประมวลผลจำนวนมาก (แต่ละรอบประกอบด้วยการคำนวณและการคำนวณทั้งหมดเหล่านี้ทำให้คอมพิวเตอร์ของคุณ "คำนวณ" หรือที่ทำงาน) เมื่อรีสตาร์ทคอมพิวเตอร์การควบคุมโปรเซสเซอร์จะมอบให้แก่ bootloader อย่างไม่มีเงื่อนไขจากนั้นจะถูกส่งไปยังระบบปฏิบัติการซึ่งสามารถเริ่มต้นจากศูนย์ได้ มันไม่ได้ถูกครอบงำโดยโปรแกรมโลภอีกต่อไป

ความเป็นไปได้อีกอย่างหนึ่งก็คือคอมพิวเตอร์มีความร้อนสูงเกินไป ความร้อนสูงเกินไปไม่ดีสำหรับคอมพิวเตอร์ การปิดเครื่องและปล่อยให้เครื่องเย็นสักครู่หนึ่งจะไม่สามารถเจ็บปวดได้ ในความเป็นจริงคอมพิวเตอร์บางเครื่อง (ถ้าไม่ทั้งหมด) ถูกตั้งค่าให้ปิดถ้าพวกเขามีอุณหภูมิภายในที่แน่นอน

โดยสรุปการรีสตาร์ททำให้คอมพิวเตอร์เข้าสู่สถานะที่ซอฟต์แวร์ด้านขวาควบคุมฮาร์ดแวร์ที่เหมาะสม (อาจเย็นกว่า) ในสถานะที่เป็นที่ทราบกันดีว่าทำงานได้ถูกต้อง


ฉันเคยมี Dell Inspiron ที่มี Pentium 4 อยู่ข้างใน ในฤดูร้อนมันจะปิดเป็นครั้งคราวโดยไม่มีการเตือนล่วงหน้า มันกลับกลายเป็นฝุ่นได้สร้างขึ้นภายในทำให้มันร้อนขึ้นจนมันตี 75 องศาเซลเซียสซึ่งเป็นอุณหภูมิที่ P4S ปิดสวิตช์โดยอัตโนมัติ ..
จอห์น Fouhy

1
ปัญหาการรั่วไหลของหน่วยความจำไม่เกี่ยวข้องกับ NT (Windows 2000 เป็นต้นไป) หรือ Linux OS ใด ๆ แน่นอนว่ามันเคยเป็นกรณีของ DOS แต่ระบบปฏิบัติการสมัยใหม่จะกู้คืนหน่วยความจำทั้งหมดที่โปรแกรมถูกจัดสรรรั่วไหลหรือไม่เมื่อปิด * ในทางทฤษฎีมันเป็นปัญหาสำหรับการบริการและสิ่งที่ชอบ แต่โดยทั่วไปแล้วสิ่งเหล่านี้ค่อนข้างมั่นคงในตอนแรก * เนื่องจากอัลกอริทึมการจัดสรรหน่วยความจำการใช้งานระบบปฏิบัติการเหล่านี้ไม่ใช่ allocs mem อย่างที่คุณอาจคาดหวัง
user2630

6

คำถามที่ดี! คำตอบสั้น ๆ คือ "มันขึ้นอยู่กับ"

คำตอบที่ยาวกว่าคือ Windows มีทรัพยากรที่ จำกัด สำหรับแอปพลิเคชันที่ใช้ (หน่วยความจำ, ตัวจัดการหน้าต่าง, ตัวจัดการไฟล์ ฯลฯ ) หากแอปพลิเคชันที่เขียนไม่ดีไม่ได้ให้ทรัพยากรเหล่านี้กลับไปเป็น Windows ทำให้เกิดปัญหากับแอปพลิเคชันอื่น เห็นได้ชัดว่าเช่นเดียวกันกับระบบปฏิบัติการอื่นทั้งหมดด้วย


6

เหตุผลสองประการ:

  • ระบบปฏิบัติการและซอฟต์แวร์เริ่มต้นด้วยกระดานชนวนที่สะอาดตา
  • การอัพเดตหรือการติดตั้งระบบปฏิบัติการ / ไดรเวอร์ใด ๆ ที่เกิดขึ้นเนื่องจากการรีบูตครั้งล่าสุดอาจต้องการโอกาสที่จะเป็นส่วนหนึ่งของลำดับการบู๊ต

3

ฉันรู้ว่านี่เป็นหัวข้อโบราณ แต่ฉันรู้สึกเหมือนโพสต์นี้โดยผู้พัฒนา Microsoft อธิบายว่าทำไม:

  1. การเริ่มใหม่มักจะจำเป็นหลังจากการอัพเกรด / เปลี่ยนแปลงซอฟต์แวร์
  2. นี่คือโดยการออกแบบ
  3. นี่คือวิธีที่ควรจะเป็น
  4. สิ่งนี้ดีกว่าทางเลือกอื่น (และวิธีการทำงานของทางเลือก)

ช้าค่อยเป็นค่อยไปและปัญหาการรีสตาร์ท-จำเป็นอื่น ๆ มักจะสามารถ chalked ถึงการรั่วไหลของหน่วยความจำ ตรงกันข้ามกับความคิดเห็นของ @ user2630 นี่ยังคงเป็นปัญหาที่แท้จริงใน Windows ยุคใหม่ ไม่ว่าจะเป็นจากบริการ / ส่วนประกอบของระบบที่ยังคงทำงานอยู่การป้องกันหน่วยความจำของพวกเขาจะถูกเรียกคืนเมื่อออกจากระบบหรือจากการเรียกใช้แอพพลิเคชั่นส่วนใหญ่ที่ผู้ใช้เริ่มทำงานการรั่วไหลเกิดขึ้นตลอดเวลา ในกรณีหลังการเรียกใช้แอปพลิเคชันมักจะง่ายกว่าที่คนไอทีจะพูดว่า "เพิ่งรีสตาร์ท" แทนที่จะเป็น "ปิดแอปทั้งหมดของคุณตรวจสอบถาดงานเพื่อให้แน่ใจว่าพวกเขาหายไปจริงๆให้แน่ใจว่าพวกเขา ' ไม่ได้ใช้กระบวนการพื้นหลังหรือบริการใด ๆ ... "คุณได้รับแนวคิด

ดังที่ได้กล่าวไว้ที่นี่ปัญหาการเริ่มต้นระบบที่ต้องใช้อื่น ๆ มากมายมาจากซอฟท์แวร์ที่เสีย / เสียแบบเก่า (บริการที่หยุดทำงานไม่มีที่สิ้นสุดรอทรัพยากรที่ใช้ร่วมกัน ฯลฯ ) ฉันคิดว่าการรั่วไหลและการเปลี่ยนแปลงของไลบรารีที่รอดำเนินการอธิบายส่วนใหญ่ของ boilerplate- รีสตาร์ท - การแก้ไขปัญหาออกมี แต่


ขอบคุณสำหรับลิงค์ไปยังบทความของ Raymond Chen ฉันไม่คิดว่าข้อมูลสรุปของคุณจะสะท้อนมุมมองของผู้เขียนอย่างแม่นยำ เขาไม่ได้บอกว่ามันควรจะเป็นแบบนี้ เขาสรุปว่า: "ดังนั้นจึงไม่ใช่ว่า Windows จะต้องเริ่มต้นใหม่หลังจากแทนที่ไฟล์ที่ใช้งานอยู่มันเป็นเพียงว่ามันจะไม่จัดการกับความซับซ้อนที่เกิดขึ้นหากไม่เป็นเช่นนั้นวิศวกรรมเป็นชุดของการแลกเปลี่ยน" มันทำให้ฉันสงสัย: นักพัฒนา Linux เลือกอะไร (ลีนุกซ์มีข้อสังเกตว่าต้องการให้รีสตาร์ทบ่อยครั้งขึ้น) พวกมันจัดการกับความซับซ้อนหรือไม่หรือพวกมันเพิ่งพังทลาย?
เลนซามูเอลแมคลีนผู้อาวุโส

นี่คือความเห็น แต่มีบางสิ่งที่ควรคำนึงถึง: ระบบ Linux ที่อัพเกรดไลบรารีในสถานที่สามารถออกจากโปรแกรมอื่นที่รันอยู่ซึ่งเชื่อมโยงกับไลบรารีรุ่นเก่าได้ มีระบบจำนวนมากที่พยายามป้องกันสิ่งนี้ แต่ความซับซ้อนที่กล่าวถึงในโพสต์ของ Microsoft ยังคงปรากฏอยู่และไม่ได้ถูกแยกออกไปเสมอไปดังนั้นการขยายเวอร์ชันของไลบรารี่จึงเป็นสิ่งที่เกิดขึ้นบ่อยครั้ง
Zac B

ลีนุกซ์ยังมีแนวโน้มที่จะมีระบบการปกครองแบบแยกส่วนที่เข้มงวดมากกว่าการเพิ่มจำนวนไลบรารีที่ "ถูกใช้โดยทุกสิ่ง" สิ่งเหล่านั้นยังคงมีอยู่ (เช่นปัญหาที่เกิดจากการอัปเกรดแบบแทนที่เพื่อนำไปสู่ปัญหาที่เกี่ยวข้องกับการโหลดซ้ำ) แต่มีความแพร่หลายน้อยกว่าใน Windows IMO ซึ่งเป็นที่แพร่หลายลดลงอย่างมากนั้นเกี่ยวข้องกับ Windows ที่ได้รับการพัฒนาในรูปแบบ agglomerated (โดยมีเป้าหมายถาวรในการใช้งานร่วมกันได้) กว่า Linux ซึ่งมีสถาปัตยกรรมที่หากไม่สอดคล้องกันมากขึ้นมักจะโต้ตอบกับใน วิธีที่สอดคล้องกันมากขึ้น
Zac B

TL; DR: Linux มักทำให้การแลกเปลี่ยนลดลงเนื่องจากความยากลำบากและเวลาในการพัฒนาที่จำเป็นในการมีส่วนร่วมกับความซับซ้อนที่คุณกล่าวถึง การมีสถาปัตยกรรมแบบโมดูลาร์ที่สอดคล้องช่วยได้เช่นกัน
Zac B

MinWin ดูเหมือนจะเป็นการผลักดันของ Microsoft ในทิศทางเดียวกัน Robert McLawsบน Windows Server Core: "Microsoft เริ่มทำกราฟกราฟการพึ่งพาของ Windows ทั้งหมดและเมื่อพวกเขาเห็นสิ่งต่าง ๆ ที่เริ่มเรียก stack เมื่อพวกเขาไม่ควรทำพวกเขาได้ทำการจัดเรียง API ใหม่เพื่อสร้างการแยกที่ชัดเจนในระบบปฏิบัติการ MinWin เป็นผลมาจากการทำงานนั้นไม่ใช่การเขียนใหม่ทั้งหมดของเคอร์เนล แต่เป็นการปรับโครงสร้างของ API ดังนั้นองค์ประกอบจะเรียกใช้สแต็กเท่านั้น
เลนซามูเอลแมคลีนผู้สูงอายุ

2

คุณเคยดู "ฝูงชนไอทีหรือไม่"

ฝ่ายสนับสนุนด้านไอทีคนใช้ "ลองรีสตาร์ท" เป็นคำตอบแรกเพราะ:

  1. มันมักจะทำให้ปัญหาหายไปอย่างน้อยก็ชั่วคราว
  2. พวกเขาไม่จำเป็นต้องออกแรงใด ๆ เพิ่มเติม
  3. พวกเขาไม่จำเป็นต้องเผชิญหน้ากับมนุษย์

1
ภรรยาของฉันทำงานในสถานที่ที่ 'คุณลองปิดและเปิด' เป็นคำตอบแรกอย่างเป็นทางการ เธอมีปัญหาที่ทำให้เดสก์ท็อปของเธอไปที่หน้าจอสีน้ำเงินทำให้สูญเสียงานเป็นประจำ แต่เธอก็ไม่สามารถแก้ไขได้เพราะ 'ปิดและเปิดใช้งาน' แก้ไข 'หน้าจอ bluescreen เสมอ
geocoin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.