ฉันยังต้องใช้หน่วยความจำเสมือนจริงหรือไม่?


14

ฉันคิดว่าสิ่งนี้ถูกถามไปแล้วแต่ดูเหมือนจะหาไม่เจอ

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


1
ข้อควรสนใจ:มีหน่วยความจำเพียงจำนวน จำกัด เท่านั้นที่ให้กับไดรเวอร์ซึ่งเรียกว่าส่วนnon-pagedและpagedพูลหน่วยความจำ ไฟล์หน้าเป็นสิ่งจำเป็นสำหรับเมื่อส่วนเพจได้รับเต็มเนื่องจากนักเล่นเกมฉันเห็นเกมบ่นเกี่ยวกับหน่วยความจำพูลเพจเนื่องจากฉันปิดใช้งานไฟล์เพจในระบบ 8 GB สรุป: ไฟล์หน้ามีความจำเป็นจะช่วยป้องกันการหมดสิ้นจพูและจริง ๆ แล้วเร่งความเร็วระบบของคุณ
Tamara Wijsman

คำตอบ:


9

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

บทความที่ Ram อ้างถึงยังระบุด้วยว่าการปิดการแลกเปลี่ยนมักจะไม่ปรับปรุงความเร็วและอาจทำตรงกันข้าม :

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


ฉันจะต้องขุดบทความในเว็บไซต์ของ MS แต่ MS บอกว่าคุณควรมี pagefile เสมอ แม้ในระบบหน่วยความจำสูงการไม่มีเครื่องใดเครื่องหนึ่งทำให้เครื่องของคุณทำงานช้าลงได้
Keltari

10

ดูบทความของ Mark Russinovichเกี่ยวกับ Virtual Memory นั่นควรให้ตัวชี้ที่ดีเกี่ยวกับหน่วยความจำเสมือน

นี่คือข้อความที่ตัดตอนมาจากลิงก์ที่มีประโยชน์

ดังนั้นคุณจะรู้ได้อย่างไรว่าปริมาณงานของคุณต้องมีปริมาณเท่าใด คุณอาจสังเกตเห็นในหน้าจอที่ Windows ติดตามหมายเลขนั้นและ Process Explorer แสดง: Peak Commit Charge ในการปรับขนาดแฟ้มเพจของคุณให้เหมาะสมที่สุดคุณควรเริ่มต้นแอปพลิเคชันทั้งหมดที่คุณเรียกใช้ในเวลาเดียวกันให้โหลดชุดข้อมูลทั่วไปจากนั้นจดค่าสูงสุดของการเรียกเก็บเงิน (หรือดูที่ค่านี้หลังจากช่วงเวลาที่คุณทราบว่า . ตั้งค่าไฟล์เพจจิ้งน้อยที่สุดให้เป็นค่านั้นลบด้วยจำนวนแรมในระบบของคุณ (หากค่าเป็นลบให้เลือกขนาดต่ำสุดเพื่ออนุญาตประเภทของดัมพ์ที่คุณกำหนดค่าไว้) หากคุณต้องการมีห้องหายใจสำหรับความต้องการในการส่งมอบขนาดใหญ่ให้ตั้งค่าสูงสุดเป็นสองเท่าของจำนวนนั้น


+1 สำหรับการอ้างอิง Mark Russinovich อ่านดีเสมอ
mrduclaw

3

โพสต์คลาสสิคบน ServerFault มีข้อดีอยู่บ้าง เพียง 4GB ฉันจะทิ้ง pagefile เพียงอย่างเดียวและพื้นที่ที่เกี่ยวข้องกับดิสก์นั้นไม่มากในทุกกรณี


3

ฉันขอแนะนำให้ตั้งค่าหน่วยความจำเสมือนเป็นค่าเริ่มต้น ฉันมี RAM 8GB และปิดการใช้งานหน่วยความจำเสมือนฉันคิดว่าฉันจะได้ความเร็ว (เพราะไม่มีการแลกเปลี่ยน) แต่มันกลับกลายเป็นว่าระบบของฉันเสถียรน้อยลง (และฉันทำสิ่งนี้ในเครื่อง 2 เครื่องคล้ายกัน) ฉันพบหนึ่ง BSOD ต่อสัปดาห์โดยประมาณบนเครื่องทั้งสอง ฉันเริ่มตรวจสอบ minidumps ที่ผลิตและพบว่า BSODs ทั้งหมดถูกทริกเกอร์โดยการเรียกรูทีนที่เรียกว่า KiPageFault ดังนั้นฉันจึงลองตั้งค่าการตั้งค่าหน่วยความจำเสมือนกลับเป็นค่าเริ่มต้นและ BSOD ปกติหายไป

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


ขอบคุณ มันเป็นการดีที่จะได้ยินผลลัพธ์ที่แท้จริงไม่ใช่แค่การสนับสนุน
Steve Rowe

0

ขึ้นอยู่กับปริมาณงานของคุณ ฉันได้ตั้งส่วนหน้าแบบ diskless สำหรับเว็บแอปพลิเคชัน เครือข่ายพวกเขาบู๊ตและวิ่งทุกอย่างที่ต้องการภายใน 8GB แรม

ฉันยังใช้ windows (อาจ 98) ด้วย 32MB และไม่มี pagefile แน่นอนว่าคุณต้องอยู่ในพื้นที่หน่วยความจำนั้นและ จำกัด แอพของคุณให้เหมาะสมกับทรัพยากร

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

ฉันดูเหมือนจะจำได้ว่ามีบางโปรแกรมที่ไม่สามารถทำงานได้หากไม่มี VM แต่ฉันไม่รู้เลยว่ามันคืออะไร


-2

สตีฟน่าสนใจที่คุณควรถามว่า

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

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

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

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


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

@RickBrant คุณฟังดูเหมือนวิศวกรไฟฟ้าคนบ้าจาก Intel และ IBM ที่ฉันเคยฟังในช่วงปี 1980 พยายามอธิบายว่าทำไม VM จึงเป็นแนวคิดที่ดี ฉันจำได้ว่าเมื่อไอบีเอ็มออกมาพร้อมกับ OS / 2 ซึ่งเป็นสมองระบบปฏิบัติการเครื่องแรกที่เสียหายกับ VM โดยต้องฟังพวกเขาอธิบายว่าทำไมมันถึงเป็นแนวคิดที่ยอดเยี่ยม ขอบคุณพระเจ้า OS / 2 เสียชีวิต แต่น่าเสียดายที่ VM ยังคงดำเนินต่อไปเหมือนซอมบี้ดังนั้นนี่คือ 2017 และฉันยังฟังเรื่องไร้สาระอยู่ฉันจะวางเดิมพันดอลลาร์เพื่อโดนัทคุณไม่มีระดับ CS คุณ? นั่นเป็นส่วนที่ตลก 99% ของผู้ชายที่ส่งเสริม VM ไม่ใช่โปรแกรมเมอร์
Tyler Durden

ในความเป็นจริงฉันเป็นสองหลัก CS / EE ที่หนึ่งในโรงเรียนเทคโนโลยีที่ดีที่สุดบนชายฝั่งตะวันตก วันนี้ฉันเป็นโปรแกรมเมอร์ส่วนใหญ่ แต่ฉันมีปฏิสัมพันธ์กับประเภทฮาร์ดแวร์ ตอนนี้คุณมีการโต้แย้งที่ตรงประเด็นถึงจุดที่มันจะสิ้นเปลืองมากที่จะต้องเก็บทุกไบต์สุดท้ายของรหัสและข้อมูลที่โปรแกรมกำหนดไว้ใน RAM ตลอดเวลาไม่ว่ามันจะต้องการหรือไม่? เพราะหน่วยความจำเสมือนหลีกเลี่ยงสิ่งนั้น หรือคุณจะโจมตีต่อไปด้วยตัวคุณเองซึ่งเป็น "คุณต้องเป็นคนงี่เง่า"
Jamie Hanrahan

โอ้และอีกครั้ง"OS / 2 ซึ่งเป็นสมองระบบปฏิบัติการระบบแรกที่เสียหายด้วย VM"อืมไม่ไม่ประมาณสองทศวรรษ อาจเป็นระบบปฏิบัติการที่ใช้กันอย่างแพร่หลายครั้งแรกสำหรับพีซี (แต่ไม่ใช่เครื่องแรกสำหรับ "คอมพิวเตอร์ส่วนบุคคล")
Jamie Hanrahan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.