หน่วยความจำข้อผิดพลาดหน้า Windows 7 รหัสข้อผิดพลาดตัวจัดการอุปกรณ์ การตรวจสอบการใช้หน่วยความจำใน Windows

ในบทความล่าสุดของฉัน "" ฉันได้พูดคุยเกี่ยวกับความสามารถของ Windows 7 Resource Monitor (Resource Monitor) อธิบายวิธีใช้เพื่อตรวจสอบการกระจายทรัพยากรระบบระหว่างกระบวนการและบริการและยังกล่าวถึงว่าสามารถใช้เพื่อแก้ไขเฉพาะ ปัญหา - ตัวอย่างเช่น เพื่อวิเคราะห์การใช้หน่วยความจำ นี่คือสิ่งที่บทความนี้จะกล่าวถึง

เล็กน้อยเกี่ยวกับความทรงจำ

ก่อนที่จะเริ่มการวิเคราะห์ ฉันจะพูดคุยสั้นๆ เกี่ยวกับวิธีควบคุมหน่วยความจำ สิ่งนี้จะช่วยให้คุณเข้าใจได้ง่ายขึ้นว่าข้อมูลใดบ้างที่นำเสนอใน Windows 7 Resource Monitor

Windows 7 Memory Manager สร้างระบบหน่วยความจำเสมือนที่ประกอบด้วย RAM ที่มีอยู่จริงและไฟล์เพจบนฮาร์ดไดรฟ์ ซึ่งช่วยให้ระบบปฏิบัติการสามารถจัดสรรบล็อกหน่วยความจำ (เพจ) ที่มีความยาวคงที่พร้อมที่อยู่ตามลำดับในหน่วยความจำกายภาพและหน่วยความจำเสมือน

การเปิดตัวตรวจสอบทรัพยากร Windows 7

หากต้องการเปิดตัว Windows 7 Resource Monitor ให้เปิดเมนู Start พิมพ์ "Resmon.exe" ในแถบค้นหาแล้วคลิก ในหน้าต่างที่เปิดขึ้นให้เลือกแท็บ "หน่วยความจำ" (รูปที่ A)

รูป A: แท็บหน่วยความจำใน Windows 7 Resource Monitor ให้ข้อมูลการจัดสรรหน่วยความจำโดยละเอียด

ตารางกระบวนการ

แท็บหน่วยความจำมีตารางกระบวนการ (รูป B) ซึ่งแสดงรายการกระบวนการที่กำลังทำงานอยู่ทั้งหมด และแบ่งการใช้หน่วยความจำออกเป็นหลายประเภท


รูปภาพ B: ข้อมูลการใช้หน่วยความจำสำหรับแต่ละกระบวนการแบ่งออกเป็นหลายประเภท

คอลัมน์ "รูปภาพ"

ในคอลัมน์ "รูปภาพ" จะมีการระบุชื่อ ไฟล์ปฏิบัติการกระบวนการ. กระบวนการ เปิดตัวโดยแอปพลิเคชันมันง่ายมากที่จะค้นหา - ตัวอย่างเช่นกระบวนการ "notepad.exe" เป็นของ Notepad อย่างชัดเจน กระบวนการชื่อ "svchost.exe" แสดงถึงบริการระบบปฏิบัติการต่างๆ ชื่อบริการปรากฏในวงเล็บถัดจากชื่อกระบวนการ

คอลัมน์รหัสกระบวนการ

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

คอลัมน์ "เสร็จสมบูรณ์"

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

คอลัมน์ "ชุดทำงาน"

คอลัมน์ชุดการทำงานระบุจำนวนหน่วยความจำฟิสิคัลเป็นกิโลไบต์ที่ใช้โดยกระบวนการ ช่วงเวลานี้เวลา. ชุดการทำงานประกอบด้วยหน่วยความจำสาธารณะและหน่วยความจำส่วนตัว

คอลัมน์ "ทั่วไป"

คอลัมน์ที่แชร์ได้ระบุจำนวนหน่วยความจำฟิสิคัลเป็นกิโลไบต์ที่กระบวนการนี้แชร์กับผู้อื่น การแชร์เซ็กเมนต์หน่วยความจำเดียวหรือหน้าสลับสำหรับกระบวนการที่เกี่ยวข้องสามารถประหยัดพื้นที่หน่วยความจำได้ สิ่งนี้จะจัดเก็บเพจเพียงสำเนาเดียวเท่านั้น ซึ่งจากนั้นจะถูกแม็ปกับพื้นที่ที่อยู่เสมือนของกระบวนการอื่น ๆ ที่เข้าถึงเพจนั้น ตัวอย่างเช่น กระบวนการทั้งหมดที่เริ่มต้นโดยระบบ DLLs- Ntdll, Kernel32, Gdi32 และ User32 - ใช้หน่วยความจำที่ใช้ร่วมกัน

คอลัมน์ "ส่วนตัว"

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

คอลัมน์ “ข้อผิดพลาดของเพจหายไปจากหน่วยความจำ/วินาที”

ในคอลัมน์ “ข้อผิดพลาดของหน้าหน่วยความจำไม่เพียงพอ/วินาที” (ฮาร์ดฟอลต์/วินาที) แสดงจำนวนเฉลี่ยของข้อผิดพลาดหน่วยความจำไม่เพียงพอต่อวินาทีในช่วงนาทีสุดท้าย หากกระบวนการพยายามใช้หน่วยความจำกายภาพมากกว่าที่มีอยู่ในปัจจุบัน ระบบจะเขียนข้อมูลบางส่วนจากหน่วยความจำลงดิสก์ - ลงในไฟล์เพจ การเข้าถึงข้อมูลที่บันทึกไว้ในดิสก์ในภายหลังเรียกว่าข้อผิดพลาดหน้าหน่วยความจำไม่เพียงพอ

ข้อผิดพลาดหน้าหน่วยความจำไม่เพียงพอหมายถึงอะไร

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

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

ข้อสรุปมีดังนี้: หากข้อผิดพลาดเพจหน่วยความจำไม่เพียงพอสำหรับกระบวนการใดกระบวนการหนึ่งเกิดขึ้นบ่อยเกินไปและสม่ำเสมอ แสดงว่าคอมพิวเตอร์มีหน่วยความจำกายภาพไม่เพียงพอ

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

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

ตาราง "หน่วยความจำกายภาพ"

ตารางกระบวนการให้ข้อมูลโดยละเอียดเกี่ยวกับการจัดสรรหน่วยความจำระหว่างแต่ละกระบวนการ ในขณะที่ตารางหน่วยความจำกายภาพจะให้ภาพรวม การใช้แรม. องค์ประกอบหลักของมันคือฮิสโตแกรมเฉพาะที่แสดงในรูปที่ ค.


รูป C: ฮิสโตแกรมในตารางหน่วยความจำกายภาพแสดงภาพรวมของการกระจายหน่วยความจำใน Windows 7

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

หมวด “อุปกรณ์ที่จองไว้”

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

โดยทั่วไป จำนวนหน่วยความจำที่จัดสรรให้กับอุปกรณ์จะมีตั้งแต่ 10 ถึง 70 MB แต่ตัวเลขนี้ขึ้นอยู่กับการกำหนดค่าระบบเฉพาะ และในบางกรณีอาจสูงถึงหลายร้อยเมกะไบต์ ส่วนประกอบที่ส่งผลต่อจำนวนหน่วยความจำที่สงวนไว้ ได้แก่:

;
ส่วนประกอบ เมนบอร์ด- ตัวอย่างเช่น ตัวควบคุมอินเทอร์รัปต์อินพุต/เอาต์พุตแบบตั้งโปรแกรมได้ขั้นสูง (APIC)
การ์ดเสียงและอุปกรณ์อื่นๆ ที่ทำอินพุต/เอาท์พุตที่แมปหน่วยความจำ
บัส PCI Express (PCIe);
การ์ดแสดงผล;
ชิปเซ็ตต่างๆ
แฟลชไดรฟ์

ผู้ใช้บางคนบ่นว่าระบบสำรองหน่วยความจำสำหรับฮาร์ดแวร์ผิดปกติ ฉันไม่เคยพบสถานการณ์เช่นนี้มาก่อน ดังนั้นฉันจึงไม่สามารถรับรองประสิทธิภาพของโซลูชันที่เสนอได้ แต่หลายคนทราบว่าการอัปเดตเวอร์ชัน BIOS สามารถแก้ปัญหาได้

ส่วน “ใช้งานอยู่”

ส่วนในการใช้งาน ซึ่งแสดงเป็นสีเขียวแสดงถึงจำนวนหน่วยความจำที่ระบบ ไดร์เวอร์ และ กระบวนการทำงานอยู่. จำนวนหน่วยความจำที่ใช้คำนวณเป็นค่า "ทั้งหมด" ลบด้วยผลรวมของตัวบ่งชี้ "แก้ไข", "สแตนด์บาย" และ "ฟรี" ในทางกลับกัน ค่า "ทั้งหมด" จะเป็นตัวบ่งชี้ "RAM ที่ติดตั้ง" ลบด้วยตัวบ่งชี้ "อุปกรณ์ที่สงวนไว้"

ส่วน "การเปลี่ยนแปลง"

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

ส่วน "การรอคอย"

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

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

ส่วน "ฟรี"

หมวดหมู่ ฟรี ที่ระบุด้วยสีน้ำเงิน แสดงถึงเพจของหน่วยความจำที่ยังไม่ได้จัดสรรให้กับกระบวนการใดๆ หรือถูกปล่อยว่างเมื่อกระบวนการสิ้นสุดลง ส่วนนี้จะแสดงทั้งหน่วยความจำที่ไม่ได้ใช้และว่าง แต่ในความเป็นจริงแล้ว หน่วยความจำที่ไม่ได้ใช้อยู่ในหมวดหมู่อื่น - "Zero Pages" ซึ่งเรียกเช่นนี้เนื่องจากเพจเหล่านี้ถูกเตรียมใช้งานเป็นศูนย์และพร้อมใช้งาน

เกี่ยวกับปัญหาหน่วยความจำว่าง

ตอนนี้ คุณมีความเข้าใจพื้นฐานเกี่ยวกับวิธีการทำงานของตัวจัดการหน่วยความจำแล้ว ลองใช้เวลาสักครู่เพื่อแก้ไขความเข้าใจผิดทั่วไปเกี่ยวกับระบบการจัดการหน่วยความจำใน Windows 7 ดังที่คุณเห็นจากรูปที่ 1 C ส่วนหน่วยความจำว่างเป็นส่วนที่เล็กที่สุดในฮิสโตแกรม อย่างไรก็ตาม เป็นความผิดพลาดที่จะสันนิษฐานบนพื้นฐานนี้ว่า Windows 7 ใช้หน่วยความจำมากเกินไป และระบบไม่สามารถทำงานได้ตามปกติหากมีหน่วยความจำว่างน้อยเกินไป

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

การตรวจสอบหน่วยความจำ

ต้องการเห็นการทำงานของระบบการจัดการหน่วยความจำของ Windows 7 หรือไม่? รีสตาร์ทคอมพิวเตอร์และทันทีหลังจากเริ่มต้นระบบ ให้เปิด Windows 7 Resource Monitor ไปที่แท็บหน่วยความจำและใส่ใจกับอัตราส่วนของส่วนต่างๆ ในฮิสโตแกรมหน่วยความจำกายภาพ

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

ด้วยการทดลองสุดขั้วนี้ คุณจะเข้าใจว่า Windows 7 จัดการหน่วยความจำในคอมพิวเตอร์ของคุณอย่างไร และคุณจะสามารถใช้ Windows 7 Resource Monitor เพื่อตรวจสอบการจัดสรรหน่วยความจำภายใต้สภาวะการทำงานปกติในแต่ละวัน

คุณคิดอย่างไร?

คุณชอบแนวคิดในการใช้ Windows 7 Resource Monitor เพื่อตรวจสอบการจัดสรรหน่วยความจำหรือไม่? แบ่งปันความคิดเห็นของคุณในความคิดเห็น!

อัลกอริธึมแบบยึดเอาเสียก่อน/ไม่ยึดเอาเสียก่อน

ในกรณีของอัลกอริธึมยึดเอาเสียก่อน ระบบปฏิบัติการสามารถขัดจังหวะการทำงานของเธรดปัจจุบันและสลับโปรเซสเซอร์ไปยังเธรดอื่นได้ตลอดเวลา ในอัลกอริธึมที่ไม่ยึดเสียก่อน เธรดที่มอบให้กับโปรเซสเซอร์จะตัดสินใจเฉพาะเมื่อจะถ่ายโอนการควบคุมไปยังระบบปฏิบัติการเท่านั้น

อัลกอริทึมกับการหาปริมาณ

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

อัลกอริทึมที่มีลำดับความสำคัญ

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

Windows ใช้อัลกอริธึมการจัดกำหนดการแบบผสม - ยึดถือล่วงหน้าโดยยึดตามปริมาณและลำดับความสำคัญ

  1. ประเภทมัลติทาสกิ้งสำหรับแอปพลิเคชัน DOS
  2. รับประกันการบริการ
  3. การจัดกำหนดการกระบวนการเบื้องหน้า
  4. วัตถุประสงค์ของไฟล์เพจจิ้ง
  5. ประมวลผล P1, P2, P3 จัดสรรหน่วยความจำ 100, 20, 80 MB ระบบมี RAM 128MB ขนาดของหน่วยความจำที่ถูกครอบครองในไฟล์เพจคือเท่าใด ไฟล์ swap มีขนาดเท่าไรครับ
  1. "ข้อผิดพลาดของหน้า" คืออะไร?

ขัดจังหวะ 14 -ความผิดของเพจ (#PF): Intel386…

สร้างขึ้นหากเปิดใช้งานกลไกเพจ (CR0.PG = 1) และเกิดเหตุการณ์ใดเหตุการณ์หนึ่งต่อไปนี้เมื่อแปลที่อยู่เชิงเส้นเป็นที่อยู่จริง:

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

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

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

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

  1. ความเข้มสูงข้อผิดพลาดของหน้า พูดว่า:

ความไม่มั่นคงของโปรแกรม

RAM ไม่น่าเชื่อถือ

อื่นๆ: อธิบาย

คอลัมน์ “ข้อผิดพลาดของเพจหายไปจากหน่วยความจำ/วินาที”

ในคอลัมน์ “ข้อผิดพลาดของหน้าหน่วยความจำไม่เพียงพอ/วินาที” (ฮาร์ดฟอลต์/วินาที) แสดงจำนวนเฉลี่ยของข้อผิดพลาดหน่วยความจำไม่เพียงพอต่อวินาทีในช่วงนาทีสุดท้าย หากกระบวนการพยายามใช้หน่วยความจำกายภาพมากกว่าที่มีอยู่ในปัจจุบัน ระบบจะเขียนข้อมูลบางส่วนจากหน่วยความจำลงดิสก์ - ลงในไฟล์เพจ การเข้าถึงข้อมูลที่บันทึกไว้ในดิสก์ในภายหลังเรียกว่าข้อผิดพลาดหน้าหน่วยความจำไม่เพียงพอ

ข้อผิดพลาดหน้าหน่วยความจำไม่เพียงพอหมายถึงอะไร

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

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

ข้อสรุปมีดังนี้: หากข้อผิดพลาดหน้าหน่วยความจำไม่เพียงพอสำหรับกระบวนการใดกระบวนการหนึ่งเกิดขึ้นบ่อยเกินไปและสม่ำเสมอ คอมพิวเตอร์มีหน่วยความจำกายภาพไม่เพียงพอ

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

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

  1. ลำดับความสำคัญของเธรดถูกกำหนดอย่างไรใน Windows

ลำดับความสำคัญ

Windows OS ดำเนินการกำหนดเวลาลำดับความสำคัญล่วงหน้าเมื่อแต่ละเธรดได้รับการกำหนดค่าตัวเลขที่แน่นอน - ลำดับความสำคัญตามที่โปรเซสเซอร์ได้รับการจัดสรร เธรดที่มีลำดับความสำคัญเท่ากันจะถูกกำหนดเวลาตามอัลกอริทึม Round Robin (ม้าหมุน) ข้อได้เปรียบที่สำคัญของระบบคือความสามารถในการยึดเธรดที่ทำงานในโหมดเคอร์เนลไว้ล่วงหน้า - โค้ดระบบผู้บริหารจะกลับคืนสู่สภาพเดิมโดยสมบูรณ์ เฉพาะเธรดที่ถือ Spinlock เท่านั้นที่ไม่ได้รับการจองล่วงหน้า (ดู "การซิงโครไนซ์เธรด") ดังนั้นจึงใช้สปินล็อคด้วยความระมัดระวังเป็นอย่างยิ่งและตั้งเวลาให้น้อยที่สุด

ระบบมีลำดับความสำคัญ 32 ระดับ ค่าลำดับความสำคัญสิบหกค่า (16-31) สอดคล้องกับกลุ่มลำดับความสำคัญแบบเรียลไทม์ ค่าสิบห้าค่า (1-15) ใช้สำหรับเธรดปกติ และค่า 0 สงวนไว้สำหรับเธรดการทำให้ศูนย์หน้าระบบ (ดูรูปที่ 6.2 ).

ข้าว. 6.2.ลำดับความสำคัญของเธรด

เพื่อช่วยให้ผู้ใช้ไม่ต้องจำ ค่าตัวเลขลำดับความสำคัญและสามารถปรับเปลี่ยนกำหนดการที่นักพัฒนาแนะนำเข้าสู่ระบบ เลเยอร์นามธรรมที่มีลำดับความสำคัญ. ตัวอย่างเช่น คลาสลำดับความสำคัญสำหรับเธรดทั้งหมดของกระบวนการเฉพาะสามารถตั้งค่าได้โดยใช้ชุดพารามิเตอร์คงที่ของฟังก์ชัน SetPriorityClass ซึ่งสามารถมีค่าต่อไปนี้:

  • เรียลไทม์ (REALTIME_PRIORITY_CLASS) - 24
  • สูง (HIGH_PRIORITY_CLASS) - 13
  • สูงกว่าปกติ (ABOVE_NORMAL_PRIORITY_CLASS) 10
  • ปกติ (NORMAL_PRIORITY_CLASS) - 8
  • ต่ำกว่าปกติ (BELOW_NORMAL_PRIORITY_CLASS) - 6
  • และไม่ได้ใช้งาน (IDLE_PRIORITY_CLASS) 4

ลำดับความสำคัญสัมพัทธ์ของเธรดถูกกำหนดโดยพารามิเตอร์ที่คล้ายกันของฟังก์ชัน SetThreadPriority:

ชุดของคลาสลำดับความสำคัญของกระบวนการหกคลาสและคลาสลำดับความสำคัญของเธรดเจ็ดคลาสจะสร้างการรวมกันที่เป็นไปได้ 42 แบบ และช่วยให้เราสามารถสร้างสิ่งที่เรียกว่าลำดับความสำคัญของเธรดพื้นฐาน

ลำดับความสำคัญพื้นฐานเริ่มต้นของกระบวนการและเธรดหลักคือค่าที่อยู่ตรงกลางของช่วงลำดับความสำคัญของกระบวนการ ( 24, 13, 10, 8, 6 หรือ 4). การเปลี่ยนลำดับความสำคัญของกระบวนการหมายถึงการเปลี่ยนลำดับความสำคัญของเธรดทั้งหมด ในขณะที่ลำดับความสำคัญสัมพัทธ์ยังคงไม่เปลี่ยนแปลง

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


ข้อมูลที่เกี่ยวข้อง.


การจัดสรรหน่วยความจำใน Windows 9x และ Windows NT การตรวจสอบทรัพยากร Windows 7 สำรวจรายการและแท็บที่เกี่ยวข้องกับหน่วยความจำ การใช้ Windows 7 Resource Monitor เพื่อตรวจสอบการจัดสรรหน่วยความจำ การเพิ่มขนาดของไฟล์เพจจิ้ง (หน่วยความจำเสมือน) การตรวจสอบหน่วยความจำโดยใช้ Windows

3.1. การจัดสรรหน่วยความจำใน Windows 9x

Windows 9x OS เป็นระบบปฏิบัติการแบบมัลติเธรด 32 บิตพร้อมการทำงานหลายอย่างพร้อมกันล่วงหน้าและอินเทอร์เฟซผู้ใช้แบบกราฟิก ในการบู๊ต ใช้ MS-DOS 7.0 ซึ่งมีโหมดการทำงานของโปรเซสเซอร์สองโหมด - จริง (BootGUI=0 เขียนในไฟล์ MSDOS.SYS) และป้องกัน (BootGUI=1) โหมดป้องกันได้รับการติดตั้งก่อนที่ Windows 9x จะบู๊ต ทำให้โปรเซสเซอร์เริ่มจัดการหน่วยความจำโดยใช้กลไกการเพจ ที่อยู่เสมือนเข้าสู่ร่างกาย พื้นที่พื้นที่ที่อยู่เสมือนประกอบด้วยเพจขนาด 4 กิโลไบต์ที่อยู่ใน RAM หรือบนดิสก์

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

แอปพลิเคชัน Windows 32 บิตแต่ละตัวทำงานในพื้นที่ที่อยู่ของตัวเอง แต่สามารถเข้าถึงที่อยู่ที่จำเป็นได้ เช่น การจัดระเบียบที่อยู่เสมือนไม่ได้ใช้การป้องกันฮาร์ดแวร์ทั้งหมดที่มีอยู่ในไมโครโปรเซสเซอร์ โปรแกรม 16 บิตใช้พื้นที่ที่อยู่ร่วมกันและยังมีความเสี่ยงต่อกันและกันอีกด้วย รุ่นหน่วยความจำ Windows 9x แสดงในรูปที่ 3.1

ข้าว. 3.1. การแจกแจง OP ใน Windows 9x

OP ที่ต่ำกว่า 64 KB ไม่สามารถเข้าถึงได้สำหรับโปรแกรม 32 บิต แต่โปรแกรม 16 บิตสามารถเขียนข้อมูลได้ที่นี่ ที่อยู่ที่ต่ำกว่า 4 MB จะถูกแมปลงในพื้นที่ที่อยู่ของแอปพลิเคชันแต่ละโปรแกรม และใช้ร่วมกันโดยกระบวนการทั้งหมด ทำให้บริเวณนี้เสี่ยงต่อการเขียนโดยไม่ตั้งใจ

จำนวนหน่วยความจำขั้นต่ำที่ต้องการสำหรับ Windows 9x ในการทำงานคือ 4 MB แต่ในทางปฏิบัติแล้วเป็นไปไม่ได้เลยที่จะทำงานกับหน่วยความจำจำนวนนี้ แฟ้มเพจ ซึ่งใช้กลไกหน่วยความจำเสมือนซึ่งอยู่ในไดเร็กทอรี Windows และมีขนาดตัวแปรซึ่งระบบจะเปลี่ยนแปลงหากจำเป็น ขนาดสามารถตั้งค่าโดยใช้เครื่องมือระบบ (แผงควบคุม → ระบบ → ประสิทธิภาพ → ระบบไฟล์) หรือระบุในส่วน SYSTEM.INI ของไฟล์ - บรรทัดที่ระบุไดรฟ์และชื่อไฟล์:

Pagingfive=c:\PageFile.sys

MinPagingFileSize=65536 (64 MB)

MaxPagingFileSize=262144 (256 MB)

บรรทัดแรกและบรรทัดที่สองกำหนดชื่อไฟล์และตำแหน่งของไฟล์ และสองบรรทัดสุดท้ายคือขนาดเริ่มต้นและขนาดสูงสุดของไฟล์เพจในหน่วย KB

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

3.2. การจัดสรรหน่วยความจำใน Windows NT

ความแตกต่างระหว่างรูปแบบการจัดจำหน่ายและ Windows 9x มีดังต่อไปนี้:

1) การใช้การป้องกันหน่วยความจำฮาร์ดแวร์ที่รุนแรงมากขึ้นในไมโครโปรเซสเซอร์

2) โมดูลซอฟต์แวร์ระบบทั้งหมดอยู่ในพื้นที่ที่อยู่เสมือนของตัวเอง และโปรแกรมแอปพลิเคชันไม่สามารถเข้าถึงได้

การกระจายพื้นที่ที่อยู่ใน Windows NT จะแสดงในรูป 3.2.

ข้าว. 3.2. การแจกแจง OP ใน Windows NT

โปรแกรมแอปพลิเคชันได้รับการจัดสรรพื้นที่ที่อยู่เชิงเส้น (ไม่มีโครงสร้าง) ในเครื่อง (ของตัวเอง) 2 GB (ไม่มี 64 KB แรก) สิ่งเหล่านี้แยกจากกันและสามารถสื่อสารกันผ่านคลิปบอร์ดเท่านั้น หรือผ่านกลไก DDE (การแลกเปลี่ยนข้อมูลแบบไดนามิก) และ OLE (การเชื่อมโยงและการฝังวัตถุ)

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

ในช่วงที่อยู่ 2-4 GB มีส่วนประกอบของระบบ (ระดับต่ำ) ของ Windows (เช่น ระดับสูงสุดของการป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต: เคอร์เนล, ตัวกำหนดตารางเวลาเธรด, ตัวจัดการหน่วยความจำ)

สำหรับแอปพลิเคชัน Windows 16 บิต เซสชัน WOW (Windows บน Windows) จะถูกนำไปใช้ในโหมดมัลติทาสก์แบบยึดเอาเสียก่อน โดยแยกทีละรายการในพื้นที่ที่อยู่ของตนเองหรือรวมกันในพื้นที่ที่อยู่ที่ใช้ร่วมกัน

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

การจัดการหน่วยความจำ (การจัดสรร การสำรอง การปล่อย เพจ) ดำเนินการโดยตัวจัดการหน่วยความจำเสมือน VMM (Virtual Memory Manager) เพจเสมือนแต่ละเพจจะถูกถ่ายโอนไปยังเพจฟิสิคัล - เฟรมเพจซึ่งเริ่มแรกเต็มไปด้วยศูนย์ (นี่คือข้อกำหนดหลักของมาตรฐานระบบความปลอดภัยระดับ C2 ซึ่งกำหนดความเป็นไปไม่ได้ของการใช้เนื้อหาก่อนหน้าโดยกระบวนการอื่น) พื้นที่สำหรับการสลับหน้าถูกสงวนไว้ในไฟล์เพจ Pagefile.sys ซึ่งเป็นบล็อกพื้นที่ดิสก์ที่สงวนไว้

ทั้งหมด หน่วยความจำวินโดวส์ NT แบ่งออกเป็น ที่สงวนไว้(สำหรับการใช้งานแบบไดนามิกโดยกระบวนการเมื่อดำเนินการงาน) อุทิศ(ซึ่งการอัพโหลดถูกสงวนไว้ใน Pagefile.sys) และ เข้าถึงได้(ส่วนที่เหลือของหน่วยความจำว่าง)

      หน่วยความจำเสมือนใน Windows

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

หากขนาดรวมของหน่วยความจำที่จัดสรรเกินจำนวนหน่วยความจำกายภาพทั้งหมด Windows จะต้อง "ปั๊ม" เพจระหว่าง RAM ที่เร็วและหน่วยความจำเสมือนที่ช้ากว่ามากในไฟล์เพจ ส่งผลให้ระบบทำงานช้าลง

กำลังดำเนินการ การติดตั้งวินโดวส์ไฟล์เพจ XP จะถูกสร้างขึ้นโดยอัตโนมัติในโฟลเดอร์รูทบนดิสก์เดียวกับที่มีไฟล์ระบบอยู่ ไฟล์วินโดวส์. ขนาดไฟล์เพจจิ้งถูกกำหนดตามจำนวนหน่วยความจำฟิสิคัลบนระบบ ค่าเริ่มต้น ขนาดขั้นต่ำไฟล์เพจมีขนาดใหญ่กว่าจำนวนหน่วยความจำกายภาพ 1.5 เท่า และขนาดสูงสุดคือใหญ่กว่า 3 เท่า ไฟล์สลับสามารถเห็นได้ในหน้าต่าง Explorer หากคุณเปิดใช้งานโหมดสำหรับการแสดงไฟล์ที่ซ่อนอยู่และไฟล์ระบบ (รูปที่ 3.3)

ข้าว. 3.3. เปิดใช้งานการแสดงไฟล์ที่ซ่อนอยู่และไฟล์ระบบ

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

ในการทำเช่นนี้คุณต้องดำเนินการตามลำดับต่อไปนี้:

1. เข้าสู่ระบบโดยใช้บัญชีจากกลุ่มผู้ดูแลระบบ และเปิดหน้าต่าง “แผงควบคุม – ระบบ”

2. บนแท็บ "ขั้นสูง" คลิกปุ่ม "ตัวเลือก" ในส่วน "ประสิทธิภาพ" (รูปที่ 3.4)

3. ในกล่องโต้ตอบตัวเลือกประสิทธิภาพ ให้เลือกแท็บขั้นสูงแล้วคลิกปุ่มเปลี่ยน (รูปที่ 3.5) เพื่อแสดงกล่องโต้ตอบหน่วยความจำเสมือน ซึ่งแสดงในรูปที่ 3.5 3.6 สำหรับ Windows XP และในรูป 3.7 สำหรับวินโดวส์ 7

การตั้งค่าไฟล์เพจปัจจุบันจะแสดงในช่อง "ขนาดไฟล์เพจรวมในไดรฟ์ทั้งหมด"

4. เลือกไดรฟ์ใดๆ จากรายการที่ด้านบนของกล่องโต้ตอบเพื่อกำหนดการตั้งค่าสำหรับไดรฟ์นั้น

คุณสามารถเปลี่ยนการตั้งค่าต่อไปนี้:

- ขนาดพิเศษ. ป้อนค่าในช่อง ขนาดเดิมเพื่อตั้งค่าขนาดเริ่มต้นของไฟล์ pagefile.sys บนดิสก์ที่ระบุ (เป็นเมกะไบต์) ในสนาม ขนาดสูงสุดป้อนตัวเลขไม่น้อยกว่าค่าในช่อง ขนาดเดิมแต่ไม่เกิน 4,096 MB (4 GB)

- ขนาดตามการเลือกระบบเลือกตัวเลือกนี้เพื่อเปิดใช้งานการจัดการไดนามิกของขนาดไฟล์เพจจิ้ง ของดิสก์นี้. เลือกตัวเลือกนี้หากคุณไม่ต้องการเปลี่ยนการตั้งค่าเริ่มต้นที่ Windows เสนอ

- ไม่มีไฟล์สลับ. ใช้สำหรับไดรฟ์ทั้งหมดที่คุณไม่ต้องการไฟล์เพจ ตรวจสอบให้แน่ใจว่ามีไฟล์สลับอยู่ในไดรฟ์อย่างน้อยหนึ่งตัว

5. หลังจากทำการเปลี่ยนแปลงแล้ว คลิก ชุดเพื่อบันทึกการเปลี่ยนแปลง

6. ทำซ้ำขั้นตอนที่ 4 และ 5 สำหรับไดรฟ์อื่นๆ (หากจำเป็น) คลิกตกลงเพื่อปิดกล่องโต้ตอบเมื่อคุณทำเสร็จแล้ว

ข้าว. 3.4. ปุ่ม “ตัวเลือก” เพื่อเข้าไปดูและ/หรือ

การเปลี่ยนพารามิเตอร์หน่วยความจำเสมือน

ข้าว. 3.5. ปุ่ม “เปลี่ยน” เพื่อไปเปลี่ยนการตั้งค่าหน่วยความจำเสมือนใน Windows XP (ซ้าย) และใน Windows 7

ข้าว. 3.6. หน้าต่างสำหรับดูและตั้งค่าขนาดหน่วยความจำเสมือน

ข้าว. 3.7. หน้าต่างสำหรับดูและตั้งค่าขนาดหน่วยความจำเสมือนใน Windows 7

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

อย่าพยายามวางไฟล์เพจจิ้งลงบนโลจิคัลไดรฟ์หลายตัวของฟิสิคัลไดรฟ์ตัวเดียว!!!

หากระบบมีฮาร์ดไดรฟ์ตัวหนึ่งแบ่งออกเป็นพาร์ติชั่น C, D และ E และไฟล์เพจถูกกระจายไปยังหลายพาร์ติชั่น ระบบอาจช้าลงด้วยซ้ำเนื่องจากในการกำหนดค่านี้ หัวแม่เหล็กของฮาร์ดไดรฟ์จะต้องอ่านข้อมูลจาก หลายพื้นที่แทนที่จะจากที่หนึ่งไปยังอีกพื้นที่หนึ่งของดิสก์

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

หากคุณมีหน่วยความจำกายภาพจำนวนมาก คุณอาจถูกล่อลวงให้ปิดการใช้งานไฟล์เพจไปเลย อย่าทำอย่างนั้น! !!

Windows XP ได้รับการออกแบบมาเพื่อใช้ไฟล์เพจเพื่อทำงานเคอร์เนลบางอย่าง ดังนั้นโปรแกรมของบริษัทอื่นบางโปรแกรมอาจรายงานหน่วยความจำเหลือน้อยเมื่อพยายามปิดใช้งานหน่วยความจำเสมือนโดยสิ้นเชิง

Windows จะไม่ใช้ไฟล์เพจจนกว่าจะจำเป็น ดังนั้นการปิดใช้งานหน่วยความจำเสมือนจะไม่ปรับปรุงประสิทธิภาพ!!!

Windows สามารถเพิ่มขนาดไฟล์เพจแบบไดนามิกได้ตามต้องการ ฟังก์ชั่นนี้จะใช้งานได้เฉพาะเมื่อคุณเลือก " ขนาดที่ระบบเลือกได้" รวมถึงเมื่อตั้งค่าขนาดสูงสุดให้มากกว่าขนาดปัจจุบันของไฟล์เพจจิ้ง

จากประสบการณ์กับ Windows รุ่นก่อนหน้า ผู้ใช้บางคนพยายามสร้างไฟล์เพจจิ้งที่มีขนาดคงที่โดยมีชื่อเริ่มต้นและเท่ากัน ขนาดสูงสุด. ตามทฤษฎีแล้ว สิ่งนี้ควรปรับปรุงประสิทธิภาพ เนื่องจากจะช่วยขจัดความเป็นไปได้ที่ไฟล์เพจจะแตกกระจาย อย่างไรก็ตาม ระบบย่อยการเพจได้รับการออกแบบเพื่อให้ในทางปฏิบัติ ไฟล์จะใช้พื้นที่ดิสก์ขนาดใหญ่เท่านั้น ทำให้การกระจายตัวน้อยที่สุด คุณอาจสังเกตเห็นประสิทธิภาพลดลงเล็กน้อยเมื่อ Windows เพิ่มขนาดของไฟล์เพจ แต่นี่เป็นการดำเนินการเพียงครั้งเดียว และไม่มีผลกระทบต่อประสิทธิภาพโดยเฉลี่ย

      การตรวจสอบการใช้หน่วยความจำใน Windows

วิธีที่ง่ายที่สุดในการค้นหาว่ามีการใช้ RAM เท่าใดในเวลาที่กำหนดคือการเปิด Task Manager โดยคลิก ++ และไปที่แท็บ "ประสิทธิภาพ" (รูปที่ 3.8) คำอธิบายโดยละเอียดของข้อมูลในแท็บ "ประสิทธิภาพ" สำหรับ Windows XP แสดงอยู่ในตาราง 3.1.

ตารางที่ 3.1. การถอดรหัสข้อมูลตัวจัดการงาน

แท็บ "ประสิทธิภาพ" สำหรับ Windows7 มีนวัตกรรมที่สำคัญเมื่อเปรียบเทียบกับแท็บตัวจัดการที่เกี่ยวข้อง งานวินโดวส์ประสบการณ์

ตัวเลขในคอลัมน์ "ทั้งหมด" ของส่วน "หน่วยความจำกายภาพ" ระบุจำนวน RAM ทั้งหมดสำหรับระบบนี้ คอลัมน์ Cached แสดงจำนวนหน่วยความจำฟิสิคัลที่ทรัพยากรระบบใช้เมื่อเร็วๆ นี้ มันยังคงอยู่ในแคชในกรณีที่ระบบต้องการมันอีกครั้ง แต่กระบวนการอื่นสามารถใช้งานได้ คอลัมน์ “Available” ใหม่ระบุจำนวนหน่วยความจำกายภาพที่ไม่ได้ใช้งานในปัจจุบัน และคอลัมน์ “ว่าง” ระบุจำนวนหน่วยความจำที่แคชใช้ แต่ไม่มีข้อมูลที่เป็นประโยชน์

ส่วน "หน่วยความจำเคอร์เนล" มีสองคอลัมน์ - "เพจ" และ "ไม่เพจ" ร่วมกันระบุจำนวนหน่วยความจำที่เคอร์เนลใช้ Paged คือหน่วยความจำเสมือน และ non-paged คือหน่วยความจำกายภาพ

ในส่วน "ระบบ" คอลัมน์สำหรับ "Handles" และ "Threads" ปรากฏขึ้นซึ่งเกี่ยวข้องกับส่วนประกอบที่เป็นส่วนประกอบของกระบวนการ คอลัมน์ “Descriptors” ระบุจำนวนตัวระบุวัตถุ (descriptors) ที่ใช้โดยกระบวนการที่กำลังทำงานอยู่ คอลัมน์ Threads แสดงจำนวนกระบวนการย่อยที่ทำงานภายในกระบวนการที่ใหญ่กว่า แน่นอนว่าตัวเลขในคอลัมน์ "กระบวนการ" ระบุจำนวนกระบวนการที่ทำงานอยู่ทั้งหมด ซึ่งสามารถดูได้ในแท็บ "กระบวนการ"

คอลัมน์ "Up Time" ระบุระยะเวลาที่ผ่านไปนับตั้งแต่ครั้งสุดท้ายที่คอมพิวเตอร์เริ่มทำงาน คอลัมน์ "คอมมิต" มีข้อมูลเกี่ยวกับไฟล์เพจจิ้ง ตัวเลขแรกระบุจำนวนหน่วยความจำกายภาพและหน่วยความจำเสมือนทั้งหมดที่ใช้งานอยู่ และตัวเลขที่สองระบุจำนวนหน่วยความจำทั้งหมดสำหรับคอมพิวเตอร์ที่กำหนดโดยหลักการ

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

ข้าว. 3.9. แท็บหน่วยความจำของหน้าต่างการตรวจสอบทรัพยากร Windows 7

บนแท็บ "หน่วยความจำ" จะมีตาราง "กระบวนการ" ซึ่งแสดงรายการกระบวนการที่กำลังทำงานอยู่ทั้งหมด และข้อมูลเกี่ยวกับหน่วยความจำที่ใช้สำหรับแต่ละกระบวนการจะแบ่งออกเป็นหลายประเภท (รูปที่ 3.10)

ข้าว. 3.10. ตารางกระบวนการ

ในคอลัมน์ " ภาพ" ระบุชื่อของไฟล์ปฏิบัติการของกระบวนการ กระบวนการที่ทำงานโดยแอปพลิเคชันนั้นจดจำได้ง่ายมาก - ตัวอย่างเช่นกระบวนการ "Winword.exe" เป็นของโปรแกรมแก้ไขข้อความ Word อย่างชัดเจน กระบวนการชื่อ "svchost.exe" แสดงถึงบริการระบบปฏิบัติการต่างๆ ชื่อบริการปรากฏในวงเล็บถัดจากชื่อกระบวนการ

ในคอลัมน์ " รหัสกระบวนการ» ระบุหมายเลขกระบวนการ - ชุดตัวเลขเฉพาะที่ช่วยให้คุณสามารถระบุกระบวนการที่กำลังทำงานอยู่ได้

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

ในคอลัมน์ " ชุดทำงาน" ระบุจำนวนหน่วยความจำกายภาพเป็นกิโลไบต์ที่กระบวนการใช้ในเวลาที่กำหนด ชุดการทำงานประกอบด้วยหน่วยความจำสาธารณะและหน่วยความจำส่วนตัว

ในคอลัมน์ " ทั่วไป" ระบุจำนวนหน่วยความจำกายภาพเป็นกิโลไบต์ที่กระบวนการนี้แชร์กับผู้อื่น การแชร์เซ็กเมนต์หน่วยความจำเดียวหรือหน้าสลับสำหรับกระบวนการที่เกี่ยวข้องสามารถประหยัดพื้นที่หน่วยความจำได้ สิ่งนี้จะจัดเก็บเพจเพียงสำเนาเดียวเท่านั้น ซึ่งจากนั้นจะถูกแม็ปกับพื้นที่ที่อยู่เสมือนของกระบวนการอื่น ๆ ที่เข้าถึงเพจนั้น ตัวอย่างเช่น กระบวนการทั้งหมดเริ่มต้นขึ้น ไลบรารีระบบ DLLs - Ntdll, Kernel32, Gdi32 และ User32 - ใช้หน่วยความจำที่ใช้ร่วมกัน

ในคอลัมน์ " ส่วนตัว" ระบุจำนวนหน่วยความจำกายภาพเป็นกิโลไบต์ที่ใช้โดยกระบวนการนี้โดยเฉพาะ เป็นค่านี้ที่ช่วยให้คุณสามารถกำหนดจำนวนหน่วยความจำที่แอปพลิเคชันเฉพาะต้องใช้งาน

ในคอลัมน์ " ข้อผิดพลาดเพจหน่วยความจำไม่เพียงพอ/วินาที"จำนวนหน้าโดยเฉลี่ยที่มีข้อผิดพลาดหน่วยความจำไม่เพียงพอต่อวินาทีในช่วงนาทีสุดท้ายจะถูกระบุ หากกระบวนการพยายามใช้หน่วยความจำกายภาพมากกว่าที่มีอยู่ในปัจจุบัน ระบบจะเขียนข้อมูลบางส่วนจากหน่วยความจำลงดิสก์ - ลงในไฟล์เพจ การเข้าถึงข้อมูลที่บันทึกไว้ในดิสก์ในภายหลังเรียกว่าข้อผิดพลาดหน้าหน่วยความจำไม่เพียงพอ

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

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

ข้อสรุปมีดังนี้: หากข้อผิดพลาดเพจหน่วยความจำไม่เพียงพอสำหรับกระบวนการใดกระบวนการหนึ่งเกิดขึ้นบ่อยเกินไปและสม่ำเสมอ แสดงว่าคอมพิวเตอร์มีหน่วยความจำกายภาพไม่เพียงพอ

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

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

ตารางกระบวนการให้ข้อมูลโดยละเอียดเกี่ยวกับการจัดสรรหน่วยความจำระหว่างแต่ละกระบวนการ และตารางหน่วยความจำกายภาพจะแสดงภาพรวมของการใช้ RAM องค์ประกอบหลักของมันคือฮิสโตแกรมเฉพาะที่แสดงในรูปที่ 3.11.


รูปที่ 3.11. ฮิสโตแกรมในตาราง "หน่วยความจำกายภาพ" ช่วยให้คุณเห็นภาพรวมของการกระจายหน่วยความจำใน Windows 7

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

ด้านซ้ายเป็นส่วน “ อุปกรณ์ที่จองไว้" ระบุด้วยสีเทา: นี่คือหน่วยความจำที่จัดสรรให้กับความต้องการของอุปกรณ์ที่เชื่อมต่อ ซึ่งใช้เพื่อโต้ตอบกับระบบปฏิบัติการ หน่วยความจำที่สงวนไว้สำหรับฮาร์ดแวร์ถูกล็อคและไม่สามารถเข้าถึงได้โดยตัวจัดการหน่วยความจำ โดยทั่วไป จำนวนหน่วยความจำที่จัดสรรให้กับอุปกรณ์จะมีตั้งแต่ 10 ถึง 70 MB แต่ตัวเลขนี้ขึ้นอยู่กับการกำหนดค่าระบบเฉพาะ และในบางกรณีอาจสูงถึงหลายร้อยเมกะไบต์

ส่วนประกอบที่ส่งผลต่อจำนวนหน่วยความจำที่สงวนไว้ ได้แก่:

ส่วนประกอบของมาเธอร์บอร์ด - เช่น Advanced Programmable I/O Interrupt Controller (APIC)

การ์ดเสียงและอุปกรณ์อื่นๆ ที่ทำอินพุต/เอาท์พุตที่แมปหน่วยความจำ

บัส PCI Express (PCIe);

การ์ดแสดงผล;

ชิปเซ็ตต่างๆ

แฟลชไดรฟ์

ส่วน " ใช้แล้ว" ที่ระบุด้วยสีเขียว หมายถึงจำนวนหน่วยความจำที่ใช้โดยระบบ ไดรเวอร์ และกระบวนการที่กำลังทำงานอยู่ จำนวนหน่วยความจำที่ใช้คำนวณเป็นค่า " ทั้งหมด» ลบผลรวมของตัวชี้วัด « เปลี่ยน», « ความคาดหวัง" และ " ฟรี" ในทางกลับกันค่า " ทั้งหมด“เป็นตัวบ่งชี้” ติดตั้งแล้ว"ลบตัวบ่งชี้" อุปกรณ์ที่จองไว้».

เมื่อกระบวนการเริ่มต้นใน Windows เพจหลายเพจที่แสดงอิมเมจ EXE และ DLL อาจอยู่ในหน่วยความจำอยู่แล้วเนื่องจากถูกใช้โดยกระบวนการอื่น หน้ารูปภาพที่เขียนได้จะถูกทำเครื่องหมายว่า "คัดลอกเมื่อเขียน" เพื่อให้สามารถแชร์ได้จนกว่าจะจำเป็นต้องแก้ไข หากระบบปฏิบัติการรู้จัก EXE ที่ถูกดำเนินการแล้ว ก็สามารถบันทึกรูปแบบลิงก์เพจได้ (โดยใช้เทคโนโลยีที่ Microsoft เรียกว่า Super-Fetch) เทคโนโลยีนี้พยายามเพิ่มเพจที่จำเป็นจำนวนมากล่วงหน้า (แม้ว่ากระบวนการจะยังไม่ได้รับข้อบกพร่องของเพจก็ตาม) ซึ่งจะช่วยลดเวลาแฝงในการเปิดแอปพลิเคชัน (การอ่านหน้าจากดิสก์ทับซ้อนกับการรันโค้ดเริ่มต้นของอิมเมจ) เทคโนโลยีนี้ปรับปรุงประสิทธิภาพเอาต์พุตของดิสก์เนื่องจากไดรเวอร์ดิสก์สามารถจัดการการอ่านได้ง่ายขึ้น (เพื่อลดเวลาการค้นหาที่ต้องการ) กระบวนการเตรียมเพจนี้ใช้ทั้งในระหว่างการบูตระบบและเมื่อใด แอปพลิเคชันพื้นหลังปรากฏขึ้นเบื้องหน้าเมื่อระบบออกจากโหมดไฮเบอร์เนต

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

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

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

รูปแบบขององค์ประกอบตารางหน้าจะแตกต่างกันไปขึ้นอยู่กับสถาปัตยกรรมตัวประมวลผล สำหรับโปรเซสเซอร์ x86 และ x64 องค์ประกอบของหน้าที่แสดงจะแสดงในรูป 11.17. หากองค์ประกอบถูกทำเครื่องหมายว่าถูกต้อง เนื้อหาจะถูกตีความโดยฮาร์ดแวร์ (เพื่อให้สามารถแปลที่อยู่เสมือนเป็นเพจทางกายภาพที่ถูกต้อง) หน้าที่ยังไม่ได้แสดงผลก็มีองค์ประกอบเช่นกัน แต่จะถูกทำเครื่องหมายว่าไม่ถูกต้อง และ ฮาร์ดแวร์ละเว้นองค์ประกอบที่เหลือ รูปแบบซอฟต์แวร์แตกต่างจากฮาร์ดแวร์เล็กน้อยและถูกกำหนดโดยตัวจัดการหน่วยความจำ ตัวอย่างเช่น สำหรับเพจที่ไม่ได้แสดงผล (ซึ่งต้องวางตำแหน่งและรีเซ็ตก่อนใช้งาน) ข้อเท็จจริงนี้จะถูกบันทึกไว้ในองค์ประกอบตารางเพจ


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

ทั้งสถาปัตยกรรม x86 และ x64 ใช้รายการตารางเพจแบบ 64 บิต (ดูรูปที่ 11.17)

ข้อบกพร่องของหน้าแต่ละหน้าสามารถจำแนกได้เป็นประเภทใดประเภทหนึ่งจากห้าประเภท:

1. หน้าเพจไม่ได้รับการแก้ไข

2. ความพยายามในการเข้าถึงเพจที่มีการละเมิดสิทธิ์

3. ความพยายามที่จะแก้ไขหน้าการคัดลอกเมื่อเขียน

1. จำเป็นต้องเพิ่มสแต็ก

2.เพจได้รับการแก้ไขแต่ เวลาที่กำหนดไม่แสดง

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

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

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

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

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

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

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

องค์ประกอบของตารางหน้าในรูป 11.17 หมายถึงหมายเลขหน้าทางกายภาพ (ไม่ใช่เสมือน) ในการอัปเดตรายการตารางเพจ (และไดเร็กทอรีเพจ) เคอร์เนลจำเป็นต้องใช้ที่อยู่เสมือน Windows แมปตารางเพจและไดเร็กทอรีเพจสำหรับกระบวนการปัจจุบันกับพื้นที่ที่อยู่เสมือนของเคอร์เนลโดยใช้องค์ประกอบแมปตัวเองในไดเร็กทอรีเพจ (รูปที่ 11.18) ด้วยการแมปองค์ประกอบไดเร็กทอรีหน้ากับไดเร็กทอรีหน้า (แผนที่ตัวเอง) เราจะได้รับที่อยู่เสมือนที่สามารถใช้เพื่ออ้างอิงองค์ประกอบไดเร็กทอรีหน้า (รูปที่ 11.18, a) และองค์ประกอบตารางหน้า (รูปที่ 11.18, b) การแมปตัวเองใช้ที่อยู่เสมือนเคอร์เนล 8 MB สำหรับแต่ละกระบวนการ (บนโปรเซสเซอร์ x86) เพื่อความง่าย รูปภาพจะแสดงองค์ประกอบ x86 self-map สำหรับรายการ PTE 32 บิต (รายการ Page-Table) ในความเป็นจริง Windows ใช้บันทึก PTE 64 บิต ดังนั้นระบบจึงสามารถใช้ประโยชน์จากหน่วยความจำกายภาพมากกว่า 4 GB ได้ ด้วยรายการ PTE 32 บิต อิลิเมนต์แมปตัวเองจะใช้รายการ PDE (Page-Directory Entry) เพียงรายการเดียวในไดเร็กทอรีเพจ ดังนั้นจึงใช้ที่อยู่เพียง 4 MB แทนที่จะเป็น 8 MB

คุณได้เชื่อมต่ออุปกรณ์ใหม่ แต่ทำงานช้า หรืออุปกรณ์เก่าหยุดทำงาน หรือทำงานไม่ถูกต้อง จะทำอย่างไรในกรณีเหล่านี้? ติดตั้งใหม่ทั้งหมดใช่ไหม มันลำบากและไม่จำเป็นเสมอไป จะทราบได้อย่างไรว่าสาเหตุคืออะไรและจะกำจัดได้อย่างไร? ง่ายมาก. ความจริงก็คือในระบบปฏิบัติการตระกูล Windows และไม่เพียงเท่านั้น ยังมีบางอย่างอีกด้วยตัวจัดการอุปกรณ์ ที่จริงแล้วเป็นผู้จัดการที่จำเป็นและมีประโยชน์มาก หากคุณสามารถเรียกเขาแบบนั้นได้ เขาอยู่นี่แล้ว เขาจะช่วยเราค้นหาว่าอะไรคือสาเหตุของปัญหา และเอกสารสรุปของฉันจะช่วยเราแก้ไขปัญหา ดังนั้นตามที่กล่าวมาข้างต้นตัวจัดการอุปกรณ์ ร่องรอยของข้อผิดพลาดในการทำงานของอุปกรณ์ยังคงอยู่ในรูปแบบของรหัส เมื่อทราบรหัสข้อผิดพลาดแล้ว การระบุสาเหตุของปัญหาไม่ใช่เรื่องยาก สำหรับผู้ที่ไม่ได้ฝึกหัด รหัสเป็นเพียงตัวเลขที่เข้าใจยากและไร้ความหมาย แต่สำหรับผู้ใช้ที่มีความรู้ พวกเขาสามารถบอกอะไรได้มากมาย ฉันจะพยายามอย่างสุดความสามารถเพื่อให้ความกระจ่างในหัวข้อนี้


หากต้องการดูข้อผิดพลาดของอุปกรณ์ เราต้องเข้าสู่ Device Manager ก่อน ก็ทำแบบนี้ เข้าสู่ระบบแผงควบคุม จากเมนูเริ่ม ( สามารถ,ของฉัน คอมพิวเตอร์ , คีย์ขวา -คุณสมบัติ ตัวจัดการอุปกรณ์ หรือสามารถทำได้โดยระบุคำสั่งในดำเนินการ แต่ทำไมทุกอย่างซับซ้อน) หากเราเข้าไปผ่าน.แผงหน้าปัด การจัดการ แล้วเส้นทางคือ:ระบบ - อุปกรณ์ - ตัวจัดการอุปกรณ์ . เลือกโดยเข้าสู่เมนูตัวจัดการอุปกรณ์ ประเภทอุปกรณ์ที่เราสนใจ (คีย์บอร์ด เครื่องพิมพ์ โมเด็ม ฯลฯ) ดับเบิลคลิก จากนั้นเราจะเห็นอุปกรณ์ที่รวมอยู่ในประเภทนี้ เลือกอุปกรณ์ที่เราต้องการแล้วดับเบิลคลิกที่อุปกรณ์ ดูที่คอลัมน์บนแท็บเกี่ยวกับทั่วไป, สถานะอุปกรณ์ หากเกิดปัญหากับการทำงานของอุปกรณ์จะแสดงที่นี่เป็นรหัสข้อผิดพลาด ดังนั้นเราจึงเห็นตัวเลขและตัวเลข พวกเขาหมายถึงอะไร? ข้างล่างนี้ผมให้ รายการทั้งหมดข้อผิดพลาดด้วย คำอธิบายสั้น ๆข้อผิดพลาดและ วิธีที่เป็นไปได้การกำจัด รหัสข้อผิดพลาดจะถูกเน้นด้วยสีแดง คำอธิบายเป็นสีน้ำเงิน และวิธีการแก้ไขเป็นสีดำ

รหัส 1มีปัญหาในการตั้งค่าเครื่องไม่ใช่ การตั้งค่าที่ถูกต้องหรือไดรเวอร์หายไป คลิกปุ่ม อัพเดตไดรเวอร์ เพื่อเปิดตัวช่วยสร้างอัพเดตฮาร์ดแวร์ . หากไม่มีไดรเวอร์เลย ให้ทำการติดตั้ง

รหัส 3ไดรเวอร์อุปกรณ์เสียหาย หรือมี RAM ไม่เพียงพอสำหรับให้อุปกรณ์ทำงานได้อย่างถูกต้อง1. ลองลบไดรเวอร์ที่เสียหายออกแล้วติดตั้งใหม่ เมื่อต้องการทำสิ่งนี้: คุณสมบัติ - ไดรเวอร์ - ลบ จากนั้นทำตามคำแนะนำของวิซาร์ด รีบูต กำลังเปิดอีกครั้งตัวจัดการอุปกรณ์ การกระทำ อัพเดตการกำหนดค่าฮาร์ดแวร์ และปฏิบัติตามคำแนะนำของอาจารย์ 2. หากปัญหาเกิดจากการขาดหน่วยความจำเสมือน ให้ปิดแอปพลิเคชันที่ทำงานอยู่เพื่อเพิ่มหน่วยความจำ ในการตรวจสอบสถานะหน่วยความจำเราต้องไปที่ผู้จัดการงาน หากต้องการทำสิ่งนี้ ให้กดแป้นพิมพ์ลัดCtrl+Shift+Escเราสามารถดูการตั้งค่าหน่วยความจำเสมือนได้ด้วยการคลิกขวาคอมพิวเตอร์ของฉัน คุณสมบัติ - ขั้นสูง - ประสิทธิภาพ - การตั้งค่า (ตัวเลือก) . คุณสามารถลองเพิ่มไฟล์ swap ได้ (ฉันอธิบายวิธีการทำสิ่งนี้ในบทความบล็อกก่อนหน้าของฉัน) แต่นี่ยังห่างไกลจากการวัดที่รุนแรง คุณจะต้องเพิ่มขึ้น แกะ. วิธีการดำเนินการนี้เป็นหัวข้อแยกต่างหากที่อยู่นอกเหนือขอบเขตของโพสต์นี้

รหัส 10ในส่วนรีจิสทรีจะมีพารามิเตอร์ที่สอดคล้องกับอุปกรณ์ล้มเหลวเหตุผลสตริง,ค่าของพารามิเตอร์นี้จะแสดงในข้อมูลข้อผิดพลาดนั่นคือหากไม่มีพารามิเตอร์เช่นนี้รหัสข้อผิดพลาดจะปรากฏขึ้นหรือกล่าวอีกนัยหนึ่งคือไม่สามารถสตาร์ทอุปกรณ์ได้ อัพเดตไดร์เวอร์ตามด้านบน หรือติดตั้งใหม่กว่า

รหัส 12ไม่มีการจัดหาทรัพยากรที่จำเป็นสำหรับอุปกรณ์นี้ ปิดการใช้งานอุปกรณ์ทำงานอื่น ๆ อย่างน้อยหนึ่งเครื่องในการดำเนินการนี้ ให้ใช้วิซาร์ดการแก้ไขปัญหา ซึ่งหากคุณทำตามคำแนะนำ อุปกรณ์นั้นจะปิดการใช้งานอุปกรณ์ที่ขัดแย้งกัน (ฉันขอเตือนคุณสั้นๆ: คุณสมบัติ - ทั่วไป - การแก้ไขปัญหา)

รหัส 14ต้องรีสตาร์ทพีซีเพื่อให้อุปกรณ์นี้ทำงานได้

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

คุณสมบัติ-ทรัพยากร หากมีทรัพยากรที่มีเครื่องหมาย ? ในรายการทรัพยากร ให้เลือกทรัพยากรนั้นเพื่อกำหนดให้กับอุปกรณ์ที่เลือก หากไม่สามารถเปลี่ยนแปลงทรัพยากรได้ ให้คลิกเปลี่ยนการตั้งค่า หากไม่มีฟังก์ชันนี้ ให้ยกเลิกการเลือกการตั้งค่าอัตโนมัติ

รหัส 18ติดตั้งไดรเวอร์อุปกรณ์อีกครั้ง เราพยายามอัปเดตไดรเวอร์หรือลบออกแล้วทำตามตัวอย่างด้วยรหัส 3

รหัส 19มีข้อมูลไม่เพียงพอในรีจิสทรีเกี่ยวกับการตั้งค่าอุปกรณ์ หรือการตั้งค่าเสียหาย วิ่งตัวช่วยสร้างการแก้ไขปัญหา และปฏิบัติตามคำแนะนำของเขา หากไม่ช่วย ให้ติดตั้งอุปกรณ์ใหม่ตามที่กล่าวไว้ข้างต้น (รหัส 3) หรือหากไม่ได้ผล ให้ดาวน์โหลดที่ผ่านมาการกำหนดค่าที่รู้จักกันดี. หากวิธีนี้ไม่ได้ผล คุณต้องได้รับความช่วยเหลือจากผู้เชี่ยวชาญ เช่นเดียวกับที่คุณต้องแก้ไขรีจิสทรีของระบบ หากไม่มีความรู้และประสบการณ์ก็ไม่มีอะไรให้คุณทำด้วยตัวเองผู้ดูแลระบบคนใดจะยืนยันสิ่งนี้กับคุณ ผู้ที่มีความรู้ความสามารถย่อมรู้วิธีทำเองโดยไม่มีเรา และสำหรับผู้ที่ไม่มีประสบการณ์ก็ไม่ควรลอง รีจิสทรีเป็นหัวใจของระบบปฏิบัติการและมีเพียงผู้เชี่ยวชาญที่มีประสบการณ์หรืออยู่ภายใต้การดูแลของเขาเท่านั้นที่ควรดำเนินการกับมัน ฉันไม่ต้องการรุกรานใคร แต่อย่างใด แต่ถ้าคุณไม่ได้ทำงานกับรีจิสทรีของระบบและหากคุณให้ความสำคัญกับคอมพิวเตอร์ของคุณคำแนะนำของฉันคือลืมทางไปที่นั่น ฉันไม่ได้เขียนเพื่อมืออาชีพ พวกเขาไม่ต้องการมัน แต่สำหรับผู้ใช้ทั่วไป แน่นอนฉันสามารถเขียนวิธีการและสิ่งที่ต้องทำที่นั่นได้ แต่นี่จะเป็นคำอธิบายด้วยตนเองและหากคุณสร้างความเสียหายให้กับคอมพิวเตอร์ของคุณอันเป็นผลมาจากข้อผิดพลาดเพียงเล็กน้อยฉันจะต้องโทษ ฉันไม่ต้องการสิ่งนี้เลย และคุณก็ไม่ต้องการเช่นกัน

รหัส 21 อุปกรณ์กำลังถูกลบออกจากระบบ นั่นคือระบบปฏิบัติการพยายามลบอุปกรณ์ แต่กระบวนการยังไม่เสร็จสิ้น


หยุดชั่วคราวสักครู่แล้วกดปุ่ม


รหัส 22 อุปกรณ์ถูกปิดใช้งาน ต้องเปิดอุปกรณ์การดำเนินการ - เปิดใช้งาน และปฏิบัติตามคำแนะนำเพิ่มเติม


รหัส 24 อุปกรณ์หายไปหรือติดตั้งไม่ถูกต้อง ไดรเวอร์ทำงานผิดปกติ อุปกรณ์อาจถูกเตรียมไว้สำหรับการถอดออก ถอดอุปกรณ์ออกแล้วติดตั้งอีกครั้ง


รหัส 28 ไม่มีคนขับ ติดตั้งไดรเวอร์ ในการดำเนินการนี้ คุณต้องอัปเดตไดรเวอร์ ทำตามขั้นตอนตามคำแนะนำสำหรับรหัส 1


รหัส 29อุปกรณ์ถูกปิดใช้งาน . คุณต้องอนุญาตให้อุปกรณ์ทำงานได้ การตั้งค่าไบออสอ่านคำแนะนำในการใช้อุปกรณ์


รหัส 31ระบบไม่สามารถโหลดไดรเวอร์สำหรับอุปกรณ์นี้ได้ . อัพเดตไดรเวอร์ตามที่อธิบายไว้ข้างต้น


รหัส 32ไดรเวอร์สำหรับอุปกรณ์นี้ถูกปิดใช้งานในรีจิสทรีของระบบ . ถอนการติดตั้งและติดตั้งไดรเวอร์ใหม่ (อธิบายไว้ข้างต้น)


รหัส 33ระบบปฏิบัติการไม่สามารถระบุทรัพยากรสำหรับสิ่งนี้ได้ อุปกรณ์ . ตั้งค่าอุปกรณ์หรือเปลี่ยนใหม่


รหัส 34ระบบปฏิบัติการตรวจไม่พบการตั้งค่า อุปกรณ์ . ตรวจสอบเอกสารที่มาพร้อมกับอุปกรณ์และกำหนดค่าการกำหนดค่าด้วยตนเองบนแท็บทรัพยากร


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


รหัส 36อุปกรณ์ต้องมีการหยุดชะงักในการทำงานพีซีไอและอุปกรณ์ได้รับการกำหนดค่าให้ขัดจังหวะคือ,หรือในทางกลับกัน . จำเป็นต้องเปลี่ยนการตั้งค่าไบออสติดต่อช่างผู้มีประสบการณ์


รหัส 37ระบบปฏิบัติการไม่รู้จักไดรเวอร์สำหรับอุปกรณ์นี้ . ติดตั้งไดรเวอร์อีกครั้ง (อธิบายไว้ข้างต้น)


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


รหัส 39ระบบปฏิบัติการไม่สามารถโหลดไดรเวอร์อุปกรณ์ได้ คนขับได้รับความเสียหาย หรือมันไม่มีอยู่จริงเลย . ติดตั้งไดรเวอร์อีกครั้งตามที่อธิบายไว้ข้างต้น


รหัส 40ไม่มีการเข้าถึงอุปกรณ์เนื่องจากไม่มีข้อมูลในรีจิสทรีของระบบหรือข้อมูลมีข้อผิดพลาด . ติดตั้งไดรเวอร์อีกครั้ง


รหัส 41ตรวจไม่พบอุปกรณ์ . เรียกใช้ตัวช่วยสร้างการแก้ไขปัญหา (ตามที่อธิบายไว้ข้างต้น) หากไม่ช่วย ให้อัปเดตการกำหนดค่าฮาร์ดแวร์ (ดูด้านบน) หรืออัปเดตไดรเวอร์ ถ้าไม่เช่นนั้น ให้ติดตั้งเพิ่มเติม เวอร์ชั่นใหม่ไดรเวอร์


รหัส 42ระบบมีไดรเวอร์ดังกล่าวอยู่แล้ว นั่นคือมีสอง อุปกรณ์ที่แตกต่างกันชื่อเดียวกัน อาจเกิดจากข้อผิดพลาด . รีสตาร์ทพีซีของคุณ


รหัส 43การหยุดอุปกรณ์เนื่องจากปัญหาในการทำงาน . เรียกใช้ตัวช่วยสร้างการแก้ไขปัญหาและปฏิบัติตามคำแนะนำ


รหัส 44แอปพลิเคชันหรือบริการหยุดการทำงานของอุปกรณ์ของคุณ . รีสตาร์ทพีซีของคุณ


รหัส 45ไม่ได้เชื่อมต่ออุปกรณ์ . เชื่อมต่ออุปกรณ์ของคุณ


รหัส 46ข้อผิดพลาดนี้จะปรากฏขึ้นเมื่อระบบปฏิบัติการปิดตัวลง คุณไม่จำเป็นต้องทำอะไรเลย ครั้งถัดไปที่คุณเริ่มระบบปฏิบัติการ ทุกอย่างจะทำงานได้


รหัส 47 อุปกรณ์ได้รับการจัดเตรียมสำหรับการถอดอย่างปลอดภัย แต่ยังไม่ได้ถูกถอดออก (เช่น แฟลชไดรฟ์) . ถอดอุปกรณ์ออก จากนั้นเชื่อมต่ออีกครั้ง รีสตาร์ทพีซีของคุณ


รหัส 48อุปกรณ์หรือซอฟต์แวร์ถูกบล็อก . อัพเดตไดรเวอร์หรือติดตั้งใหม่


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


คำแนะนำในการลบไวรัสออกจากพีซีด้วยมือของคุณเอง วิธีการกำจัดไวรัสทั้งหมดใช้งานได้จริงและได้รับการทดสอบในทางปฏิบัติแล้ว คำแนะนำทีละขั้นตอนพร้อมภาพประกอบ - เรียบง่ายและเข้าถึงได้แม้แต่กับเด็กนักเรียน + วิดีโอสอน + โปรแกรม ultraiso เพื่อสร้างตัวดาวน์โหลด + ลิงค์ที่เป็นประโยชน์ไปยังเครื่องมือในการต่อสู้กับไวรัส ดาวน์โหลดไฟล์เก็บถาวร