ฉันจะจำลองเครื่องที่ช้าใน VM ได้อย่างไร


29

ฉันกำลังทดสอบแอปพลิเคชันเว็บที่ใช้งานหนัก AJAX ฉันพัฒนาบน Mac เครื่องใหม่ แต่ฉันใช้ VmWare Fusion (ปัจจุบัน 3.1.2) เพื่อทดสอบใน Windows XP โดยใช้IETesterเพื่อจำลอง IE เวอร์ชันเก่า

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

(ฉันจะตรวจสอบวิธีจำลองการเชื่อมต่ออินเทอร์เน็ตที่ช้าด้วย)

คำตอบ:


17

เธรดการจำกัด ความเร็ว CPU ในเครื่องเสมือนให้คำแนะนำ:

  • บน VMWare ESX และ ESXi คุณสามารถสร้าง Resource Pool และ จำกัด CPU Resources สำหรับพูลนั้น สิ่งนี้จะช่วยให้คุณ จำกัด ความเร็ว CPU ของระบบใด ๆ ที่สร้างขึ้นใน Resource Pool นั้น
  • การตั้งค่าใน MS hyper-V อนุญาตให้ จำกัด เครื่องเสมือนเพียงร้อยละของโฮสต์โดยรวม ดังนั้นหากคุณมีโฮสต์ 8 คอร์ที่ทำงานที่ 2 GHz คุณสามารถลอง จำกัด เครื่องเสมือนไคลเอ็นต์หนึ่งคอร์และไม่เกิน 45% ของคอร์

Virtual PC Guy พูดถึงการชะลอตัวของเครื่องเสมือนที่:

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

เขาแนะนำให้ใช้Turboแทนการชะลอ VM เขายังแนะนำให้ใช้ผลิตภัณฑ์อีมูเลชันซึ่งช้ากว่าเวอร์ชวลไลเซชันเช่นDOSBoxและBochsมาก


7

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

การใช้งานง่ายมากหากตัวอย่างเช่น VM ของคุณกำลังทำงานเป็นกระบวนการ 12345 และคุณต้องการจัดสรรเพียง 5% ของรอบ CPU ให้ใช้ตัวเลือกต่อไปนี้:

$ cpulimit -l 5 -p 12345

4

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

ต้องบอกว่าคุณสามารถใช้เครื่องมือการจัดการกระบวนการของ Mac เพื่อ จำกัด การใช้งาน CPU ของ VMWare Fusion เอง หากคุณทำสิ่งนี้ได้ดีพอที่จะเลียนแบบเครื่องรุ่นเก่าแอปพลิเคชั่น VMWare ทั้งหมดอาจจะทำงานช้ามาก - เหมือนกับเครื่องที่พร้อมใช้วินเทจ XP

ฉันไม่ทราบว่าโปรแกรม Mac แบบกราฟิกมีไว้สำหรับสิ่งนี้ แต่ดูว่า Mac ของคุณรองรับreniceคำสั่ง: เปิดเทอร์มินัลแล้วพิมพ์man reniceเพื่ออ่านข้อมูลเกี่ยวกับการทำงานบน Mac

โดยวิธีการที่เครื่อง XP พร้อมอาจจะสกปรกราคาถูกในขณะนี้ ของจริงอาจมีราคาประมาณ $ 75 จากนั้นคุณสามารถโอนเครื่องเสมือนของคุณเป็นของจริง ...


2
ฮา! แนวคิดที่น่าสนใจในการซื้อเครื่องจักรจริง เนื่องจากแนวคิดทั้งหมดคือเลียนแบบคอมพิวเตอร์เครื่องเก่าการซื้อคอมพิวเตอร์เก่าจึงเป็นตัวเลือกที่ค่อนข้างถูก :)
นาธานลอง

2

ขึ้นอยู่กับว่าคุณต้องการเลียนแบบเครื่องช้าแค่ไหน หากคุณย้อน XP กลับไปเป็น RAM ขนาด 128 MB มันจะช้าลงอย่างเจ็บปวดจนถึงจุดที่ฉันไม่แน่ใจว่าความเร็วตัวประมวลผลเสมือนจะเกี่ยวข้องกันหรือไม่ คุณสามารถเรียกใช้ไฟล์ VM ของคุณจากฮาร์ดไดรฟ์ภายนอก USB1 เก่า (ดูว่าคุณสามารถหาไดรฟ์ 4200 RPM) สิ่งนั้นควรทำให้ช้าลง


2

วิธีหนึ่งที่จะทำให้ VM ช้าลงคือบูตขึ้นมาให้มากที่สุดเท่าที่จะทำได้!

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


เรียบง่ายและมีประสิทธิภาพมาก
ม้วน

1

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


1
ฉันกลัวว่านี่จะมีผลเพียงเล็กน้อยสำหรับ VM ซึ่งเป็นซีพียูเท่านั้น
harrymc

1
ใช่ฉันไม่คิดว่าการเปลี่ยนความถี่เป็นตัวเลือก มันอาจจะไม่ทำงาน (น่าจะ) หรือเค้นทั้งโฮสต์ os (เป็นไปไม่ได้?)
jpaugh

0

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

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