ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

อาการ

คุณพบปัญหาด้านประสิทธิภาพในแอปพลิเคชันและบริการใน Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 และ Windows Server 2008 R2 หลายเวอร์ชัน นอกจากนี้ คุณจะสังเกตเห็นอาการต่อไปนี้:

  • หน่วยความจําที่พร้อมใช้งานเกือบหมด

  • แคชไฟล์ของระบบจะใช้ RAM ที่มีอยู่จริงส่วนใหญ่

  • มีการร้องขอการอ่านที่แคชไว้อย่างต่อเนื่องและสูงไปยังฮาร์ดดิสก์

สาเหตุ

การจัดการหน่วยความจําในระบบปฏิบัติการ Microsoft Windows ใช้อัลกอริทึมที่ยึดตามความต้องการ ถ้ากระบวนการใดๆ ร้องขอและใช้หน่วยความจําจํานวนมาก ขนาดของชุดที่ใช้งานได้ (จํานวนหน้าหน่วยความจําใน RAM จริง) ของกระบวนการจะเพิ่มขนาดขึ้น ถ้าการร้องขอเหล่านี้อย่างต่อเนื่องและไม่ได้เลือก ชุดกระบวนการจะขยายขึ้นเพื่อใช้งาน RAM จริงทั้งหมด ในสถานการณ์เช่นนี้ ชุดการงานของกระบวนการอื่นๆ ทั้งหมดจะถูกจัดหน้าไปยังฮาร์ดดิสก์ ลักษณะการนี้ลดประสิทธิภาพของแอปพลิเคชันและบริการเนื่องจากหน้าหน่วยความจําถูกเขียนลงในฮาร์ดดิสก์อย่างต่อเนื่อง และอ่านจากฮาร์ดดิสก์

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

บนระบบปฏิบัติการ Microsoft Windows เวอร์ชัน 32 บิตที่เก่ากว่า Windows Vista ชุดการดําเนินการของแคชไฟล์ระบบจะมีขีดจํากัดหน่วยความจําตามหลักปฏิบัติน้อยกว่า 1 กิกะไบต์ (GB) ข้อจํากัดของช่วงที่อยู่เสมือนจะป้องกันไม่ให้ชุดการใช้งานได้ของแคชไฟล์ระบบจากการใช้ RAM จริงจนหมด

บนระบบปฏิบัติการ Windows Vista เวอร์ชัน 32 บิต ทรัพยากรต่างๆ บนแกนเวลาจะจัดสรรแบบไดนามิก ชุดที่ใช้งานได้ของแคชไฟล์ของระบบจะเพิ่มเพื่อใช้ช่วงที่อยู่เสมือนของโหมด Kernel ที่ค่าใช้จ่ายของทรัพยากรอื่นๆ ของ Kernel ข้อจํากัดของช่วงหน่วยความจํานี้น้อยกว่า 2 GB ถ้าคอมพิวเตอร์มี RAM จริงมากกว่า 2 GB แคชจะไม่สามารถใช้ RAM จริงทั้งหมดจนหมดได้ อย่างไรก็ตาม แคชสามารถใช้พื้นที่ที่อยู่เสมือนใน Kernel จนหมด ซึ่งสามารถทําให้เกิดความล้มเหลวในการจัดสรรคอมโพเนนต์ของ Kernel อื่นๆ

บนระบบปฏิบัติการ Windows เวอร์ชัน 64 บิต ขนาดของช่วงที่อยู่เสมือนโดยทั่วไปแล้วจะใหญ่กว่า RAM จริง ในสถานการณ์นี้ ชุดการใช้งานได้กับแคชไฟล์ของระบบอาจเพิ่มการใช้ RAM จริงส่วนใหญ่

การแก้ไข

อัลกอริทึมการจัดการหน่วยความจําในระบบปฏิบัติการ Windows 7 และ Windows Server 2008 R2 ได้รับการอัปเดตเพื่อแก้ไขปัญหาการแคชไฟล์มากมายที่พบใน Windows เวอร์ชันก่อนหน้า มีเฉพาะสถานการณ์เฉพาะบางอย่างที่คุณจะต้องใช้บริการนี้บนคอมพิวเตอร์ที่ใช้ Windows 7 หรือ Windows Server 2008 R2

วิธีการตรวจสอบว่าระบบของคุณได้รับผลกระทบหรือไม่

เมื่อต้องการตรวจสอบว่าระบบของคุณได้รับผลกระทบจากปัญหานี้หรือไม่ ให้ติดตั้งเครื่องมือ SysInternals RamMap คุณสามารถขอรับเครื่องมือจากเว็บไซต์ Windows Sysinternals ต่อไปนี้:

http://technet.microsoft.com/en-us/sysinternals/ff700229
เมื่อคุณเรียกใช้เครื่องมือ ให้เลือกตัวเลือก ใช้นับ ซึ่งจะแสดงหลายคอลัมน์ที่แสดงรูปแบบปัจจุบันของการใช้หน่วยความจํา คลิกคอลัมน์ ใช้งานอยู่ เพื่อเรียงล>บตามจํานวนไบต์ที่ใช้ และจดบันทึกการใช้งานสูงสุดไว้ใต้ผลรวมโดยตรง

ถ้าการนับที่ใช้บ่อยคือ "Metafile" และถ้ามีการใช้หน่วยความจําที่มีอยู่เป็นส่วนใหญ่ คุณพบปัญหาแคชไฟล์ระบบที่อธิบายไว้ในส่วน "อาการ" คุณสามารถตรวจสอบสิ่งนี้ได้โดยใช้ Performance Monitor เพื่อตรวจสอบตัวนับไบต์ที่ไม่ได้ใช้หน่วยความจํา\แคชของระบบ และดูแคชที่ขยายอย่างต่อเนื่องเมื่อเวลาผ่านไป

รูปที่ 1 ตัวอย่างผลลัพธ์ RamMap ที่คอมพิวเตอร์พบปัญหา


ข้อความแสดงแทน
รูปที่ 2 ตัวอย่างผลลัพธ์ RamMap ที่คอมพิวเตอร์ไม่พบปัญหา


ข้อความแสดงแทน
ถ้าตัวนับไบต์ที่ใส่หน่วยความจํา\แคชของระบบใน Performance Monitor แสดงแนวโน้มขึ้นเมื่อเวลาผ่านไป คอมพิวเตอร์จะพบปัญหา ตามที่แสดงในรูปที่ 3

รูปที่ 3 ตัวอย่างการแสดงผล Performance Monitor ที่คอมพิวเตอร์พบปัญหาเมื่อเวลาผ่านไป

ข้อความแสดงแทน

ความต้องการในการรีสตาร์ต

คุณไม่มีสิทธิ์รีสตาร์ตคอมพิวเตอร์เมื่อคุณติดตั้ง ถอนการติดตั้ง หรือใช้บริการนี้

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

  1. ตรวจสอบว่าผลลัพธ์ RamMap, perfmon หรือ Poolmon ของลูกค้ายืนยันว่าแคชไฟล์ของระบบใช้ RAM จริงส่วนใหญ่ ตามที่อธิบายไว้ก่อนหน้านี้

  2. เมื่อต้องการขอรับบริการแคชแบบไดนามิกของ Windows ให้ ดาวน์โหลดที่นี่

  3. การตั้งค่ารีจิสทรีของแคชแบบไดนามิกบางอย่างมีดังนี้:

    เซิร์ฟเวอร์ไฟล์ คุณอาจต้องการทดลองใช้ 1GB
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007 คุณอาจต้องการลอง 500 MB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000001F4
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    SQL 2005 และใหม่กว่า ในอดีตเมื่อใช้งาน SQL EE ได้ใช้ 2 GB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

ข้อมูลเพิ่มเติม

เมื่อต้องการแก้ไขปัญหานี้ ให้ใช้ฟังก์ชัน GetSystemFileCacheSize API และฟังก์ชัน SetSystemFileCacheSize API เพื่อตั้งค่าขนาดสูงสุดหรือต่สุดของชุดการแคชไฟล์ระบบ การใช้ฟังก์ชันเหล่านี้เป็นเพียงวิธีที่ได้รับการสนับสนุนเท่านั้นในการจํากัดการใช้งานหน่วยความจําจริงโดยแคชไฟล์ของระบบ

บริการแคชแบบไดนามิกของ Microsoft Windows เป็นบริการตัวอย่างที่สาธิตกลยุทธ์หนึ่งในการใช้ API เหล่านี้เพื่อลดผลกระทบของปัญหานี้

การติดตั้งและการใช้งาน Microsoft Dynamic Cache Service ไม่ก่อให้เกิดข้อยกเว้นของการสนับสนุน Microsoft Windows บริการนี้และโค้ดต้นฉบับมีไว้เป็นตัวอย่างของวิธีใช้ API ที่สนับสนุนของ Microsoft เพื่อลดการเติบโตของแคชระบบไฟล์

คุณสามารถขอรับบริการและรหัสต้นทางจากเว็บไซต์ Microsoft ต่อไปนี้:

http://www.microsoft.com/download/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en

แหล่งข้อมูลเพิ่มเติม

อ่านบท 9 (การจัดการหน่วยความจํา) และ 10 (ตัวจัดการแคช) ของ Windows Internals รุ่น 5

โพสต์ในบล็อก การจัดการหน่วยความจํา (ปัญหาแคชระบบขนาดใหญ่)

โพสต์ในบล็อกปัญหาการคัดลอกไฟล์ขนาดใหญ่ช้า

ขีดจํากัดหน่วยความจําของ Windows Releases

976618คุณพบปัญหาด้านประสิทธิภาพในแอปพลิเคชันและบริการเมื่อแคชไฟล์ของระบบใช้ RAM 918483 ทางกายภาพส่วนใหญ่ วิธีการลดการแบ่งหน้าของหน่วยความจําพูลบัฟเฟอร์ใน SQL Server 895932 เวอร์ชัน 64 บิต เมื่อต้องการพิจารณาก่อนที่คุณจะเปิดใช้งานโหมดแคชของระบบใน

Windows

XP

232271วิธีปรับ Windows NT Server ให้เหมาะสมโดยใช้รีจิสทรี

837331เกี่ยวกับตัวจัดการแคชใน Windows Server 2003

http://technet2.microsoft.com/windowsserver/en/library/EFA621BD-A031-4461-9E72-59197A7507B61033.mspx

LargeSystemCache TechNet Topic

RamMap Blog Post 

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×