ฉันจะ จำกัด การใช้ RAM สำหรับผู้ใช้หรือกระบวนการเฉพาะได้อย่างไร


8

ฉันใช้บริการพื้นหลังที่ทำให้หน่วยความจำรั่วบ่อยครั้ง เพื่อป้องกันการใช้Alt+ SysRq REISUB[ 1 ] ฉันต้องการ จำกัด การใช้ RAM สำหรับหนึ่งกระบวนการหรือผู้ใช้ระบบ

ฉันอยากจะบอกว่า: ผู้ใช้ x อาจใช้ RAM สูงสุด 1 GB

เป็นไปได้หรือไม่ ฉันต้องการเครื่องเสมือนชนิดนี้หรือไม่ ฉันใช้ Ubuntu 9.10

คำตอบ:


10

ulimitคือเพื่อนของคุณ ตรวจสอบแฟล็ก -m ฉันคิดว่าคุณตั้งค่านี้ก่อนที่คุณจะเปิดกระบวนการของคุณและมันใช้ตั้งแต่นั้นมา


ขอบคุณคำแนะนำดี ๆ ! ตามที่ผมเข้าใจ ulimit มัน จำกัดทุกหน่วยความจำผู้ใช้ / กระบวนการ / สิ่งบริโภค ฉันต้องการ จำกัด ให้ผู้ใช้หนึ่งคน / กระบวนการและกระบวนการย่อย
guerda

1
ulimit เป็นคำสั่งเชลล์และมีผลกับกระบวนการที่เริ่มต้นจากเชลล์เดียวกันหลังจากดำเนินการ ulimit คุณเริ่มต้นกระบวนการในเชลล์สคริปต์ด้วยคำสั่ง ulimit เพื่อให้มันมีผลกับกระบวนการนั้น
KeithB

4

นอกเหนือจากคำสั่งเชลล์ulimit(สำหรับ bash) หรือlimit(สำหรับ csh) คุณสามารถควบคุมสิ่งนี้จากภายในโค้ดของคุณด้วยulimit()ฟังก์ชั่น


1
manpages แบบบังคับ: linux.die.net/man/1/ulimit (คำสั่งเชลล์) และlinux.die.net/man/3/ulimit (ฟังก์ชัน C)
Stephan202
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.