วิธีลดการ thrashing ของดิสก์ (การเพจ)


11

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

ฉันพยายามตั้งค่าSuperfetchเพื่อแคชไฟล์เริ่มต้นเท่านั้น (ช่วยหน่อย) และปิดแฟ้มเพจจิ้ง (ช่วยได้มากและทำงานได้ดีสำหรับฉันใน Windows XP แต่ Windows Vista / Windows 7 ไม่อนุญาต - แสดงต่ำ ข้อความ "ในหน่วยความจำ" บ่อยครั้งแม้ว่าฉันจะมี RAM 1 GB อยู่ก็ตาม)

คุณแนะนำให้ฉันทำอะไร


6
คุณไม่ต้องการปิด superfetch ด้วย RAM 4GB แต่คุณอาจต้องการปิดการทำดัชนี ปล่อยให้หน้าไฟล์อยู่คนเดียว Windows รู้เรื่องนี้มากกว่าพวกเราคนอื่น ๆ แต่ฉันไม่สามารถช่วยเพจได้
Phoshi

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

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

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

คำตอบ:


7

Mark Russianovich ได้เขียนบทความยาว ๆ เกี่ยวกับหน่วยความจำเสมือนการ
ผลักขีด จำกัด ของ Windows: หน่วยความจำเสมือน

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

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

มันเป็นการอ่านที่ดีมาก

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


บทความก่อนหน้า: การผลักขีด จำกัด ของ Windows: หน่วยความจำกายภาพ

คุณสามารถดูรูปแบบหน่วยความจำกายภาพกับmeminfoเครื่องมือโดยอเล็กซ์ Ionescu


5
ไม่มีอะไรใหม่สำหรับฉัน และนั่นไม่ใช่คำตอบสำหรับคำถามของฉันเลย
skevar7

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

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

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

3
@ skevar7: และบางทีอาจจะมีคนที่มีความสามารถคิดที่ Microsoft และพวกเขาคิดและตัดสินใจว่าจำเป็นต้องใช้ไฟล์หน้า พวกเขาไม่ได้ทำแค่เพื่อรบกวนคุณ
Gnoupi

4

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

O'Reilly มีบทความที่น่าสนใจเกี่ยวกับNTFS สมรรถนะ Hacks

ในด้านฮาร์ดแวร์ฮาร์ดไดรฟ์ที่ดีกว่าที่มีอัตราการหมุนสูงและแคชที่ใหญ่กว่าจะช่วยได้มากเช่นกัน

และนี่คือวิธีการฆ่าคำเตือนหน่วยความจำเหลือน้อยให้ใช้ความเป็นเจ้าของและทำนุรีรีจิสตรีคีย์ต่อไปนี้

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules\ {5EE64AFB-398D-4edb-AF71-3B830219ABF7}]

และ

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules\ {45DE1EA9-10BC-4f96-9B21-4B6B83DBF476}]

สิ่งนี้จะป้องกันไม่ให้บริการการวินิจฉัยโหลด RADAR มันใช้งานได้สำหรับฉันใน Windows Vista มีปุ่มปรากฏอยู่ใน Windows 7 ฉันไม่ได้ลองเลย - แค่สำรองคีย์เหล่านั้นก่อนที่คุณจะลบ


2

วิธีเดียวที่ฉันพบคือเพิ่มขนาด RAM เป็น 8 GB และปิดการเพจโดยตั้งค่า

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ ตัวจัดการเซสชัน \ จัดการหน่วยความจำ \ DisablePagingExecutive = 1

(จำเป็นต้องรีบูตเครื่อง)

กิจกรรมดิสก์ที่ลดลงเกือบเป็นศูนย์


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

การตั้งค่ารีจิสทรีนั้นไม่ได้ "ปิดการเพจ" ปิดใช้งานการเพจเท่านั้นสำหรับสิ่งที่จะเป็นส่วนที่สามารถเพจได้ของ ntoskrnl.exe และพูเพจ
เจมี่ Hanrahan

ไม่ทราบเกี่ยวกับ Vista แต่ใน Windows 7 ฉันปิดใช้งานการเพจและไม่มีปัญหาและคำเตือน นี่คือกับ 8 หรือ 16GB ของ RAM
i486

1

ตรวจสอบแผงควบคุม \ ระบบและความปลอดภัย \ ระบบ> การตั้งค่าระบบขั้นสูง> [ขั้นสูง]> ประสิทธิภาพ: การตั้งค่า> [ขั้นสูง]

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


0

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

ระบบช้าหรือคุณใช้คำว่า thrash เพราะคุณเห็นแสงแฟลชกระพริบ HD หรือไม่?


ไม่มีคนทำความสะอาด บางครั้งมันใช้เวลามากกว่าปกติในการดำเนินการอย่างง่าย ๆ (5-10 วินาที) และดิสก์ก็ฟาด สิ่งนี้มักจะเกิดขึ้นหลังจากที่แอพไม่ได้ใช้งานเป็นระยะเวลาหนึ่ง omperations ง่ายมาก - เปิดแท็บใหม่ใน Opera สร้างไฟล์ใหม่ใน Visual Studio เป็นต้นดังนั้นฉันคิดว่าอัลกอริทึมการเพจเพจของ Windows นั้นยังห่างไกลจากความสมบูรณ์แบบ การปิดไฟล์เพจจิ้งทำงานได้ดีสำหรับฉันใน WinXP แต่น่าเสียดายที่ Vista และ Win7 ไม่อนุญาต
skevar7

ซึ่งแตกต่างจาก Windows ของระบบปฏิบัติการหลายตัวที่จะจัดการกับปัญหาฮาร์ดแวร์ในปริมาณที่พอสมควรโดยไม่ต้องหยุดทำงานและอาจเป็นไปได้ว่าการกู้คืนบางอย่างเกิดขึ้นในพื้นหลังซึ่งทำให้เกิดความล่าช้า ฉันรู้ว่ามันแย่มาก แต่ใช้การทดสอบ HD เพื่อให้แน่ใจว่ามันไม่ได้ถูกต่อเนื่องจากฟังดูเหมือนเป็นปัญหา I / O เนื่องจากปัญหาหายไปเมื่อคุณไม่อนุญาตให้ระบบใช้ swap ตรวจสอบการอัปเดต BIOS ที่เกี่ยวข้องกับ I / O, ตัวควบคุม hd, ฯลฯ เนื่องจากอาจมีปัญหา ระบบใช้การบูตตลอดไป (XP, Vista หรือ 7) หรือไม่? ถ้าเป็นเช่นนั้นมันเป็นปัญหา I / O แน่นอน
UnderLoK

* ฉันควรจะพูดว่า "Windows จะจัดการกับปัญหาฮาร์ดแวร์ในปริมาณที่พอสมควรโดยไม่แจ้งให้คุณทราบถึงปัญหา";)
UnderLoK

0

ย้ายไปที่ Linux มันไม่ได้ทำอย่างนั้น

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

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


2
และอีกครั้งที่ "windows ของฉันทำเช่นนั้นฉันจะได้อย่างไร ... ? -> ย้ายไปที่ linux" ตอบ อย่างไรก็ตามคำตอบที่เหลือนั้นถูกต้อง แต่คุณสามารถทำได้โดยไม่ต้องใช้ประโยคแรก
Gnoupi

ตกลง แต่เมื่อคุณมี RAM 8GB และความต้องการที่แท้จริงคือ 3GB - ทำไมจึงต้องทำการสลับไปยังดิสก์ ลองจินตนาการว่าคุณมีไฟล์สลับกายภาพ 2GB + 2GB 2GB ระบบนี้ทำงานอย่างไรโดยไม่มี "การระเบิด" 4GB เพียงพอสำหรับทุกสิ่ง แต่ด้วย RAM ขนาดกายภาพ 8GB + 0 swap จึงเป็น "ความเป็นไปได้" ที่จะมีหน่วยความจำไม่เพียงพอ อย่างไร? ฉันคิดว่าอัลกอริทึมสำหรับหน่วยความจำเสมือนผิดจาก Windows 95 ครั้งและไม่มีการเปลี่ยนแปลงใน Windows 10
i486
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.