ฉันจะจำลองพีซีที่มีหน่วยความจำกายภาพน้อยกว่าเพื่อทดสอบประสิทธิภาพได้อย่างไร


1

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

มีวิธีใน Windows, Linux, Mac เพื่อ 'ซ่อน' RAM จากระบบปฏิบัติการโดยไม่ต้องปิด นึกคิดตอนรันไทม์นั่นไม่ใช่ BIOS? หรือแม้แต่ยูทิลิตีที่จะกินแรมตามจำนวนที่ร้องขอและป้องกันแอปอื่น ๆ ที่ใช้งานอยู่

แอปพลิเคชั่นของเรายังต้องการ GPU ที่หนักหน่วงผ่าน OpenGL ซึ่งทำให้ VM เป็นตัวเลือกที่ยุ่งยาก ฉันรู้ว่า Parallels และ VirtualBox ไม่รองรับรุ่น OpenGL ที่เราใช้คนอื่นอาจจะ แต่บางครั้งก็มีราคาแพง


3
แล้ว VM ล่ะ วิธีเดียวที่ฉันคิดได้ก็คือการลบแรมในร่างกาย แรมต่ำ + สนิมปั่น HD เก่าจะยิ่งแย่กว่า SSD
Tetsujin

@Tetsujin ขอบคุณที่เตือนให้ฉันเพิ่มบันทึกในคำถามของฉัน ... ฉันลืม
นายบอย

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

คำตอบ:


2

นั่นคือ

บน Linux mem=ใช้พารามิเตอร์บรรทัดคำสั่งเคอร์เนล เพิ่มตัวเลือกนี้ไปยังบรรทัดคำสั่งเคอร์เนลในด้วง การอ้างอิง

Windows มีสวิตช์/BURNMEMORYและ/TRUNCATEMEMORYบูต ใช้bcdeditเพื่อเพิ่มสวิทช์เหล่านี้หรือการอ้างอิง ใน Windows Vista และ 7 F10 จะนำคุณเข้าสู่หน้าจอก่อนบูตซึ่งคุณสามารถเพิ่มลงในเซสชั่นนั้นไม่แน่ใจว่าวิธีการทำงานกับ Windows 10 หรือไม่ใช้ตัวเลือก BCDEdit หากไม่มี อ้างอิงอื่น


1

ลดจำนวนหน่วยความจำที่มีอยู่ด้วยการสร้าง ramdrive ซึ่งจะไม่กำหนดภาระรอบ CPU เพิ่มเติมของ VM

Ramdrives หรือ ramdisks จะกล่าวถึงในที่นี้สำหรับของ Windows , LinuxและMacOS

สำหรับ Windows แอป Open Source หนึ่งรายการคือImDiskแต่มีตัวเลือกอื่น ๆ อีกมากมาย

ลินุกซ์รวมถึงtmpfsแต่คุณมีตัวเลือกอื่น ๆ หลายที่นี่เช่นกันเช่นการใช้memเป็นตัวเลือกบรรทัดคำสั่งใน kernelตามที่ระบุไว้ในความคิดเห็นด้านล่างโดยออสติน Hemmelgarn

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

hdiutil attach -nomount ram://1165430 /dev/disk4

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

-1

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


คำถามในวรรค 3: "แอปพลิเคชันของเราต้องการ GPU ที่หนักหน่วงผ่าน OpenGL ซึ่งทำให้ VM เป็นตัวเลือกที่ยุ่งยาก"
K7AAY
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.