หน่วยความจำ Windows 2012 Core Extreme ใช้กับบริการ SVCHOST / Workstation


9

เรามีเซิร์ฟเวอร์ประมาณ 200, Hyper V, File Cluster และ IIS ที่ทั้งหมดกำลังประสบปัญหาเดียวกันเหตุการณ์เกิดขึ้นบนเซิร์ฟเวอร์ผ่านการใช้งานปกติที่สูงสุดหรือใกล้ถึง RAM บนเซิร์ฟเวอร์ เมื่อสิ่งนี้เกิดขึ้นบริการ SVCHOST / เวิร์กสเตชันโดยเฉพาะ (ตัดออกโดยการแยกบริการเวิร์กสเตชันเป็น SVCHOST ของตัวเอง) จะหยุดการปล่อยจับ / เธรดและหน่วยความจำที่ใช้โดยบริการนั้นจะไม่ถูกปล่อยออกมา ในบางกรณีเรามีบริการเวิร์กสเตชันที่ใช้ RAM มากถึง 40GB บนเซิร์ฟเวอร์ 255GB นอกจากนี้ยังพบว่ามีมากกว่า 40 ล้านด้ามในบางกรณี

ในการรีบูตปัญหาของหลักสูตรจะหายไปและจะไม่ปรากฏขึ้นอีกจนกว่าหน่วยความจำทั้งหมดจะถูกใช้งานโดยกระบวนการ W3 หรือ HyperV VM หลังจากนั้นบริการเวิร์กสเตชันก็เริ่มคว้า RAM ทั้งหมด กระบวนการนี้ช้ามากและอาจใช้เวลาสัปดาห์ / เดือนขึ้นอยู่กับปริมาณของ RAM บนเซิร์ฟเวอร์

ทั้งเซิร์ฟเวอร์ Hyper V และเซิร์ฟเวอร์ IIS ของเราเข้าถึงการแชร์สำหรับไฟล์ทำงานส่วนแบ่งเหล่านี้อยู่ในที่จัดเก็บข้อมูล SSD ดังนั้นจึงมีประสิทธิภาพมากมาย เราได้ติดตั้งแพตช์ปัจจุบันทั้งหมดแล้ว แต่ไม่ได้ย้ายไปยัง R2 เนื่องจากเรามีเครื่องมือมากมายที่จะทำให้ขั้นตอนนี้มีความสำคัญและไม่สามารถหาข้อบ่งชี้ที่ชัดเจนว่าสิ่งนี้จะได้รับการแก้ไขใน R2

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

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

เราพยายามหลีกเลี่ยงการรีบูตปกติเพื่อ 'แก้ไข' ปัญหานี้ดังนั้นคำตอบใด ๆ จะได้รับการชื่นชม


คำถามของคุณคืออะไร?
Andrew Schulman

จริง ๆ แล้วเราทำ แต่มันเป็นที่คลุมเครือที่ดีที่สุดเพียงพันหัวข้อ / เปิด ในระบบที่มีปัญหามากที่สุดเราไม่สามารถแม้แต่เรียกใช้เครื่องมือเหล่านั้นพวกเขาเพียงแค่เซิร์ฟเวอร์พัง
Craig

เราต้องการหาทางออกที่ดีในการแก้ปัญหานอกเหนือจากการรีบูทกล่อง เราไม่สามารถหยุดบริการได้เมื่อปัญหานี้เริ่มต้นขึ้น
เคร็ก

ติดตั้ง KB 2811660 แล้วหรือยัง ระบบเหล่านี้เรียกใช้ตัวจัดการเซิร์ฟเวอร์หรือไม่ support.microsoft.com/kb/2793908

ใช่ติดตั้ง KB นี้มาแล้ว นอกจากนี้การรั่วไหลนี้มีเฉพาะกับบริการเวิร์กสเตชันซึ่ง KB ใช้กับบริการ WMI
เคร็ก

คำตอบ:


1

ฉันมีปัญหาคล้ายกันอย่างน่าขนลุกที่ svchost ทำลายประสิทธิภาพของเซิร์ฟเวอร์

การแก้ปัญหา:ปรากฎว่าฉันมีบันทึกเหตุการณ์เต็มรูปแบบ ฉันล้างมันออกแล้วทุกอย่างก็กลับมาทำงานเหมือนไม่มีอะไรเกิดขึ้น

(ฉันขอแนะนำให้เปลี่ยนขนาดของบันทึกเหตุการณ์จากค่าเริ่มต้นดูด้านล่าง)

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

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

หวังว่านี่จะช่วยได้!


-1
>Is there a way we can free up the memory from this process ?

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

>or avoid the bug all together? 

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

คุณสามารถลองค้นหาผู้ร้ายโดยระบุการรั่วไหลของหน่วยความจำ / ทรัพยากรโดยใช้เช่น MS Application Verifier


ทริกเกอร์คือการแชร์ไฟล์ซึ่งเราไม่สามารถหลีกเลี่ยงได้
Craig

หากคุณไม่สามารถหลีกเลี่ยงทริกเกอร์ได้ให้ค้นหา "รั่วไหลของแอปพลิเคชัน" และติดต่อ MS ด้วยข้อมูลนั้น
Pat

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

การพิจารณา MS จะไม่รีบเร่งสำหรับการแก้ปัญหาแบบนี้ในระบบปฏิบัติการที่ไม่เป็นปัจจุบันฉันไม่คิดว่าคุณจะพบทางออกที่เร็วขึ้น สิ่งที่แตกต่างคือถ้าคุณบอกพวกเขาว่ามีรอยรั่วอยู่ที่ใด
Pat

เรามีกรณีเปิดและได้ทำงานกับพวกเขาเป็นเวลาหนึ่งเดือน การรั่วไหลมีอยู่จริงในบริการเวิร์กสเตชัน
Craig

-1

การสร้าง RAM นั้นง่าย แต่ก็ไม่มีทางออก

ฉันขอแนะนำ Sysinternals RAMMAP หรือ VMMAP สำหรับการตรวจสอบที่ลึกขึ้น ด้วยเครื่องมือนี้คุณสามารถดูว่าเกิดอะไรขึ้น บ่อยครั้งที่มันเป็นปัญหา metafile

ตั้งแต่ Server 2008 เรามีปัญหานี้กับเซิร์ฟเวอร์เทอร์มินัลหมดหน่วยความจำที่มีการใช้หน่วยความจำที่ไม่น่าเชื่อตลอดเวลาเมื่อเริ่มต้นแอปพลิเคชันจากการแบ่งปัน

วิธีแก้ปัญหาของเราคือการโฮสต์แอปพลิเคชันบนเซิร์ฟเวอร์เทอร์มินัลที่แยกต่างหากและล้างการใช้หน่วยความจำบ่อยครั้ง

เราทำสิ่งนี้ด้วยแอปพลิเคชันบรรทัดคำสั่ง c ++ ที่ออกแบบด้วยตนเองโดยใช้
SetProcessWorkingSetSize () พร้อม SeDebugPrivilege ในทุกกระบวนการ

แนะนำอย่างยิ่งว่าอย่าทำอะไรแบบนี้;)


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