ถ้าช่วยได้การตรวจสอบทรัพยากรจะอธิบาย RAM อื่นทั้งหมดว่าเป็น "สแตนด์บาย"
มีการใช้RAM "Standby" มันถูกใช้เป็นแคชหน้า (มันเก็บเพจที่หายไปจากชุดการทำงานของกระบวนการทั้งหมดเช่นความผิดพลาดของหน้าเหล่านี้สามารถแก้ไขได้โดยไม่ต้องไปที่ดิสก์) และสำหรับการแคชไฟล์เชิงรุกโดย SuperFetch
มีการพิจารณาว่า "พร้อมใช้" เนื่องจากหน้าสแตนบายไม่จำเป็นต้องเขียนลงดิสก์ก่อนที่จะสามารถกำหนดให้ผู้อื่นใช้งานได้ เช่นเมื่อกระบวนการพบข้อผิดพลาดของเพจที่ไม่จำเป็นต้องอ่านจากดิสก์หน้าฟิสิคัลใหม่จะต้องได้รับการจัดสรรให้กับกระบวนการนั้นและหากจำเป็นสามารถนำสิ่งเหล่านี้ได้จากรายการสแตนด์บาย (นี่ไม่ใช่ตัวเลือกแรกสำหรับการค้นหาหน้าเพื่อจุดประสงค์นี้ซึ่งจะเป็นแบบฟรีและตามด้วยรายการหน้าศูนย์)
กล่าวอีกนัยหนึ่งระบบของคุณกำลังทำงานตามที่ควรจะเป็น
คุณสามารถบังคับให้ระบบของคุณจะได้รับ RAM มากกว่าเป็น "ในการใช้งาน" รัฐได้อย่างง่ายดายด้วยเครื่องมือบรรทัดคำสั่งtestlimit
อย่างใดอย่างหนึ่งของเครื่องมือที่ใช้ในการทดลองในของ Windows Internals มันไม่ได้เป็นส่วนหนึ่งของเครื่องมือ sysinternals ปกติ แต่เกี่ยวข้องกับมัน หาได้ที่นี่ที่ไซต์ sysinternals การดาวน์โหลดเป็นไฟล์ zip ที่มีสองเวอร์ชั่นคือ testlimit.exe และ testlimit64.exe ทั้งสองเชื่อมโยงที่อยู่ที่รับรู้ขนาดใหญ่ดังนั้นรุ่น 32 บิตจะสามารถจัดสรรได้ถึง 3 GiB บนเครื่อง 32 บิตที่บูตด้วย / 3GB สูงสุด 4 GiB บนเครื่อง 64 บิต
c:\> testlimit -?
ให้ความช่วยเหลือ
c:\> testlimit -d 4 -c 512
จะพยายามจัดสรรพื้นที่ที่อยู่เสมือนของกระบวนการส่วนตัว 2 GiB ใน 512 การจัดสรร 4 MiB ในแต่ละครั้ง สิ่งนี้จะทำงานได้ดีบนเครื่อง 64 บิต บนเครื่อง 32- บิตที่ไม่ได้บูทด้วย / 3GB (ส่วนใหญ่ไม่ใช่) มันอาจผิดพลาดเล็กน้อยก่อนหน้านี้ b / c มีบางสิ่งบางอย่างในกระบวนการ MiB อยู่แล้ว (เช่นโปรแกรมตัวเอง DLLs ทั้งหมด ฯลฯ ) ดังนั้น มีไม่เต็ม 2 GiB สำหรับโปรแกรมที่จะจัดสรร
ในทั้งสองกรณีจะมีการลด RAM "พร้อมใช้" และการเพิ่มขึ้นของ "ใช้งาน" RAM แต่ไม่จำเป็นต้องมีมูลค่า 2 GiBเนื่องจากไม่มีการรับประกันว่าระบบปฏิบัติการจะปล่อยให้ 2 GiB ทั้งหมดอยู่ในกระบวนการทำงานส่วนตัว แม้ว่ามันจะเป็นเช่นนั้นในระยะสั้นคุณอาจเห็นว่ากระบวนการทำงานลดลงในภายหลังเมื่อระบบปฏิบัติการตัดสินใจ "hm คุณไม่ได้ทำอะไรกับมันเลยกระบวนการอื่นต้องการมันมากกว่านี้" และพิมพ์ออกมา
เพิ่มขนาดของการจัดสรร "chunks" มากเกินไปลดจำนวนของ chunks ตามลำดับและอาจเป็นไปได้ที่ล้มเหลวในไม่ช้าเนื่องจากการจัดสรรแต่ละครั้งจะต้องต่อเนื่องกันอย่างแท้จริง เช่นพยายามค้นหาชิ้นส่วนเจ็ด 512 MiB ในพื้นที่ที่อยู่ 4 GiB และคุณอาจล้มเหลว
หากคุณใช้ตัวเลือก l (eak) แทน d (irty) โปรแกรมจะจัดสรรพื้นที่เสมือน แต่จะไม่อ้างอิงมัน สิ่งนี้จะไม่ส่งผลให้ RAM "พร้อมใช้งาน" ลดลงอย่างเห็นได้ชัด
(ตัวเลือก d (irty) ใช้ชื่อจาก "บิตเพจสกปรก" ในรายการตารางเพจ x86 / x64 ซึ่งถูกตั้งค่าเมื่อเข้าถึงเพจเสมือนที่สอดคล้องกันด้วยตัวถูกดำเนินการ "แก้ไข" สไตล์ซึ่งหมายความว่าเนื้อหาของหน้ามี ได้รับการเปลี่ยนแปลงนี่คือข้อบ่งชี้ของ Windows ว่าหากหน้าต้องถูกขับออกจากกระบวนการทำงานชุดเนื้อหาจะต้องถูกบันทึกไว้ที่ไหนสักแห่งก่อนที่จะสามารถใช้หน้าสำหรับสิ่งอื่น ๆ หน้ากับชุด "สกปรก" บิตไปที่ "รายการหน้าแก้ไข" ทันทีหลังจากถูกไล่ออกจากที่นั่น Windows จะเขียนรายการเหล่านั้นไปยังร้านค้าสำรองของพวกเขา)
คุณจะต้องมี "การยอมรับ" ที่เพียงพอเพื่อให้การทดสอบเหล่านี้ทำงานตามที่อธิบายไว้ข้างต้น (แม้สำหรับตัวเลือก l (eak) แม้ว่าตัวเลือกนี้จะไม่ใช้ RAM ที่ประเมินค่าได้) โดยเฉพาะอย่างยิ่ง "ขีด จำกัด การส่งมอบ" ของคุณควรมีอย่างน้อย 2 GiB (หรือจำนวนที่คุณจัดสรร) สูงกว่า "การเรียกเก็บเงินค่าดำเนินการ" ก่อนเริ่มการทดสอบ โปรดสังเกตว่าสิ่งนี้ใช้ได้แม้ว่าคุณจะใช้ตัวเลือก l (eak) ไม่ใช่แค่ d (irty) หากคุณพบข้อ จำกัด นี้คุณจะเห็นป๊อปอัป "ระบบมีหน่วยความจำเหลือน้อย" หรือคล้ายกัน แน่นอนการรักษาคือการเพิ่ม RAM และ / หรือเพิ่มการตั้งค่าไฟล์เพจของคุณ