วิธี จำกัด หน่วยความจำที่แอปพลิเคชันใช้ใน IIS


17

กระบวนการของผู้ปฏิบัติงาน IIS กำลังใช้หน่วยความจำจำนวนมากบนเซิร์ฟเวอร์ของเรา ฉันต้องการ จำกัด หน่วยความจำที่แต่ละแอปพลิเคชันสามารถใช้ได้ ฉันสับสนว่าฉันควรตั้งค่าขีด จำกัด บน Virtual Memory Limit หรือ Private Memory Limit แต่ละแอปพลิเคชันใน IIS ของเราอยู่ในกลุ่มแอปพลิเคชันของตนเอง

หากฉันตั้งค่าขีด จำกัด หน่วยความจำส่วนตัวเป็น 500MB และ จำกัด หน่วยความจำเสมือนเป็น 3GB กลุ่มแอปพลิเคชันจะรีไซเคิลเมื่อใด จะรีไซเคิลหลังจากถึง 500MB หรือหลังจากถึง 3GB


ตัวเลือก 'ขีด จำกัด หน่วยความจำเสมือน' และตัวเลือก 'ขีด จำกัด หน่วยความจำส่วนตัว' เหล่านี้อยู่ที่ไหน
พันเอก Panic

1
@ColonelPanic ใน IIS 7.5 พวกเขาอยู่ภายใต้สระว่ายน้ำของแอปAdvanced Settings -> Recyclingส่วน
ngm

คำตอบ:


16

IIS จะเคารพขีด จำกัด เหล่านั้นทั้งสอง

ถ้าคุณตั้งค่า จำกัด ไบต์ส่วนตัว 500MB ทันทีที่กระบวนการของผู้ปฏิบัติงานพยายามที่จะยอมรับ 501MB IIS จะหมุนกระบวนการทำงานใหม่และฆ่าอันเก่า

หากคุณตั้งค่าขีด จำกัด หน่วยความจำเสมือน 3GB ทันทีที่กระบวนการของผู้ปฏิบัติงานพยายามสำรอง 3.001GB IIS จะหมุนกระบวนการทำงานใหม่และฆ่าอันเก่า

หากคุณอยู่บนแพลตฟอร์ม 64 บิตคุณควรทราบว่าแอป ASP.NET จองหน่วยความจำเสมือนอย่างจริงจัง ตัวอย่างเช่นฉันมีแอปในฟาร์มที่ใช้ไบต์ส่วนตัวเพียง 88MB แต่มีขนาด 5.4GB เสมือนจริงในขณะนี้ ฉันเชื่อว่าการจองหน่วยความจำเสมือนเป็นหน้าที่ของ RAM จริงบนเซิร์ฟเวอร์ สิ่งสำคัญคือต้องเข้าใจว่าบนแพลตฟอร์ม 64 บิตการสำรองส่วนใหญ่ของหน่วยความจำเสมือนจะไม่มีผลกระทบต่อประสิทธิภาพการทำงาน

โดยทั่วไปหากคุณมีปัญหาการใช้หน่วยความจำบนเซิร์ฟเวอร์ IIS การตั้งค่าที่คุณต้องการ จำกัด คือ Private Memory / Bytes นี่คือสิ่งที่สอดคล้องกับการใช้งานหน่วยความจำจริง


ขอบคุณ Dominic มีวิธีที่เราสามารถตั้งกระบวนการให้ใช้หน่วยความจำส่วนตัว 500Mb หรือไม่และเมื่อมันเกินขีด จำกัด นั้นให้เริ่มใช้หน่วยความจำเสมือนบนดิสก์โดยไม่ต้องรีไซเคิลหรือไม่?
kishore

2
ไม่ใช่ว่าฉันรู้ ในแอปพลิเคชัน ASP.NET เมื่อคุณเริ่มมีปัญหาการส่งไบต์คุณโดยทั่วไปมี 3 ตัวเลือก 1. รีไซเคิลกระบวนการเมื่อคุณถึงขีด จำกัด หรือกลางคืนทุกชั่วโมง (ไม่ชัดและไม่ควรจัดการข้อมูลเซสชั่นอย่างถูกต้องหากรีไซเคิลระหว่างหน้าต่างการใช้งาน) 2. รับหน่วยความจำกายภาพเพิ่มเติมสำหรับแอปพลิเคชัน (เพิ่ม RAM ไปที่เซิร์ฟเวอร์ฟาร์มหรือย้ายไปที่ฟาร์มอื่นนี่เป็นวิธีที่ง่ายที่สุดขึ้นอยู่กับสถานการณ์ของคุณ) 3. แก้ไขแอปพลิเคชันเพื่อให้ใช้หน่วยความจำได้อย่างมีประสิทธิภาพ (ตัวเลือกที่ดีที่สุด แต่อาจใช้งานยาก)
Dominic D

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