ฉันกำลังมองหาวิธีในการกำหนดหน่วยความจำที่กระบวนการใช้จริง ๆ (ไม่ใช่แค่จัดสรร)
ดูที่ procmon.exe หรือ vmmap.exe ค่าที่เกี่ยวข้องคือ:
ไบต์ส่วนตัว
หน่วยความจำทั้งหมดที่จัดสรร
ชุดการทำงาน
หน่วยความจำที่ใช้ใน RAM จริง
สมมติและprivate bytes = 3 GB
working set = 200 MB
ในกรณีที่ดีที่สุดกระบวนการใช้เพียง 200 MB และส่วนที่เหลือจะถูกจัดสรรและไม่ได้ใช้ ในกรณีที่เลวร้ายที่สุดมันใช้ทั้ง 3 GB จะมีการเปลี่ยน 2,8 GB เป็น pagefile
(ฉันอ่านคำถามว่าแอพ windows ของฉันใช้หน่วยความจำเท่าไหร่และไบต์ส่วนตัวไบต์เสมือนชุดทำงานคืออะไรแต่พวกเขาไม่ตอบคำถามของฉัน)
มีวิธีการหาหน่วยความจำที่ใช้จริงของกระบวนการหรือไม่?
แก้ไข:
สำหรับฉันถูกใช้หน่วยความจำคือจำนวนหน่วยความจำที่จัดสรรซึ่งเต็มไปแล้ว
เมื่อ jus จัดสรร 3 GB 'ไม่มีอะไรเกิดขึ้น หน่วยความจำสงวนไว้สำหรับกระบวนการเท่านั้น ไบต์ส่วนตัวเพิ่มขึ้น แต่ชุดการทำงานยังคงไม่เปลี่ยนแปลง หลังจากกรอกหน่วยความจำที่จัดสรร 200 MB มันจะปรากฏในชุดการทำงาน
หน่วยความจำที่ใช้แล้ว / เต็มไป 200 MB นี้เป็นสิ่งที่ฉันมองหาโดยไม่คำนึงว่าผึ้งกำลังทำงานอยู่บนชุดการทำงานหรือถูกสลับเปลี่ยน