limit.conf เพื่อตั้งค่า จำกัด หน่วยความจำ


10

ฉันต้องการ จำกัด กระบวนการใด ๆ จากการใช้ RAM มากกว่า 500 MB AFAIK สามารถทำได้โดยใช้ RSS ใน /etc/security/limits.conf แต่กระบวนการที่เรียกว่า gnome-panel นั้นใช้ 618436 kB ของ VmRSS สิ่งนี้จะเป็นอย่างไร

/etc/security/limits.conf

* ยาก RSS 512000

ชื่อผู้ใช้ @ debian: ~ $ cat / proc / 3002 / สถานะ
ชื่อ: gnome-panel
รัฐ: S (นอนหลับ)
Tgid: 3002
Pid: 3002
PPid: 2910
TracerPid: 0
โพสต์: 1000 1,000 1,000 1,000
Gid: 1,000 1,000 1,000 1,000
FDSize: 64
กลุ่ม: 20 24 25 29 44 46 112 116 117 1,000 1002 1003 
VmPeak: 916636 kB
VmSize: 916636 kB
VmLck: 0 kB
VmHWM: 618436 kB
VmRSS: 618436 kB
VmData: 601972 kB
VmStk: 104 kB
VmExe: 516 kB
VmLib: 29232 kB
VmPTE: 1760 kB
หัวข้อ: 1
SigQ: 0/14001
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000020001000
ซิกคอต: 0000000180000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffffff
Cpus_allowed: 3
Cpus_allowed_list: 0-1
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switch: 871965
nonvoluntary_ctxt_switches: 47553
พัก: PeMRs

ชื่อผู้ใช้ @ debian: ~ $ cat / proc / 3002 / จำกัด
Limit Soft Limit ฮาร์ดไดรฟ์ จำกัด     
เวลา cpu สูงสุดไม่ จำกัด ไม่ จำกัด วินาที   
ขนาดไฟล์สูงสุดไม่ จำกัด จำนวนไม่ จำกัด ไบต์     
ขนาดข้อมูลสูงสุดไม่ จำกัด จำนวนไม่ จำกัด ไบต์     
ขนาดสแต็กสูงสุด 8388608 ไม่ จำกัด ไบต์     
ขนาดไฟล์หลักสูงสุด 0 0 ไบต์     
Max resident set 524288000 524288000 bytes     
กระบวนการสูงสุด 100 กระบวนการ 100 
เปิดไฟล์ได้สูงสุด 1024 1024 ไฟล์     
หน่วยความจำสูงสุดถูกล็อค 65536 65536 ไบต์     
พื้นที่ที่อยู่สูงสุดไม่ จำกัด ไม่ จำกัด ไบต์     
ล็อคไฟล์สูงสุดไม่ จำกัด ล็อคไม่ จำกัด     
สัญญาณสูงสุดที่รอดำเนินการ 14001 14001 สัญญาณ   
ขนาด msgqueue สูงสุด 819200 819200 ไบต์     
ลำดับความสำคัญสูงสุดที่ดีที่สุด 0 0                    
ลำดับความสำคัญสูงสุดตามเวลาจริง 0 0                    
Max realtime timeout ไม่ จำกัด จำนวนไม่ จำกัด เรา

คำตอบ:



7

limits.conf(5) หน้าคนพูดว่า:

rss
  maximum resident set size (KB) (Ignored in Linux 2.4.30 and higher)

มีวิธีอื่นที่จะ จำกัด หน่วยความจำทั้งหมดที่ใช้โดยกระบวนการหรือไม่ ฉันเคยมีปัญหากับ thrashing เนื่องจากโปรแกรมที่ใช้หน่วยความจำมากเกินไปหรือไม่

หน้าคนของฉันลงวันที่ตั้งแต่ปี 2008 ไม่ได้กล่าวถึงข้อ จำกัด ดังกล่าว ดังนั้นค่าที่ถูกต้องในการใช้คืออะไร?

@Rupert: mine ลงวันที่ 08/24/2009 นี่คือรุ่นออนไลน์: kernel.org/pub/linux/libs/pam/Linux-PAM-html/... ฉันไม่รู้ทางเลือกใด ๆ โชคไม่ดี
Roman Cheplyaka

as(ขีด จำกัด พื้นที่ที่อยู่) ควรทำตามที่ @cib อธิบาย rssตั้งค่าตามที่คุณต้องการ
errant.info

1

ผมไม่ทราบวิธีที่จะ จำกัด นี้บนพื้นฐานต่อกระบวนการ แต่คุณสามารถ จำกัด การ RSS รวม (และอื่น ๆ ) ขนาดของกลุ่มของกระบวนการที่มีการควบคุมทรัพยากรหน่วยความจำ


1

ขีด จำกัด RSS ใน limit.conf จะไม่ทำงานในเมล็ด> 2.4.30

คุณต้องใช้Cgroups


คุณควรพูดวิธีใช้กลุ่ม cg ด้วย
Cristian Ciupitu

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