bellek limitlerini ayarlamak için


10

Herhangi bir işlemin 500 MB'den fazla RAM kullanmasını sınırlamak istiyorum. AFAIK bu /etc/security/limits.conf dosyasında RSS kullanılarak yapılır, ancak görünüşe göre gnome-panel adı verilen işlem 618436 kB VmRSS kullanıyor. Bu nasıl olabilir ?

/etc/security/limits.conf

* sabit rss 512000

kullanıcı adı @ debian: ~ $ cat / proc / 3002 / status
Adı: gnome paneli
Devlet: S (uyku)
Tgid: 3002
Pid: 3002
PPid: 2910
TracerPid: 0
Kullanıcı adedi: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
Boyut: 64
Gruplar: 20 24 25 29 44 461121171171000 10021003 
VmPeak: 916636 kB
Boyut: 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
Konular: 1
SigQ: 0/14001
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
İşaret: 0000000020001000
SigCgt: 0000000180000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
Kapasite: 0000000000000000
CapBnd: ffffffffffffffff
Cpus_allowed: 3
Cpus_allowed_list: 0-1
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
gönüllü_ctxt_switches: 871965
gönüllü olmayan_ctxt_switches: 47553
PaX: PeMR'ler

kullanıcı adı @ debian: ~ $ cat / proc / 3002 / limit
Limit Yumuşak Limit Sert Limit Üniteleri     
Maksimum işlemci süresi sınırsız sınırsız saniye   
Maksimum dosya boyutu sınırsız sınırsız bayt     
Maksimum veri boyutu sınırsız sınırsız bayt     
Maksimum yığın boyutu 8388608 sınırsız bayt     
Maksimum çekirdek dosya boyutu 0 0 bayt     
Maksimum yerleşik seti 524288000 524288000 bayt     
Maksimum işlem 100100 işlem 
Maks açık dosya 1024 1024 dosya     
Maksimum kilitli bellek 65536 65536 bayt     
Maksimum adres alanı sınırsız sınırsız bayt     
Maksimum dosya kilidi sınırsız sınırsız kilit     
Maksimum bekleyen sinyaller 14001 14001 sinyaller   
Maks. Mesaj boyutu 819200 819200 bayt     
Maksimum hoş öncelik 0 0                    
Maksimum gerçek zamanlı öncelik 0 0                    
Maksimum gerçek zamanlı zaman aşımı sınırsız sınırsız bize

Yanıtlar:



7

limits.conf(5) man page diyor:

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

Bir işlem tarafından kullanılan toplam belleği sınırlamanın başka bir yolu var mı? Çok fazla bellek kullanan programlar nedeniyle daha önce çöp ile ilgili sorunlar yaşadım?

2008 tarihli man sayfam böyle bir sınırlamadan bahsetmedi. Peki, kullanılacak doğru değer nedir?

@ Rupert: benimki 08/24/2009 tarihli. İşte çevrimiçi sürüm: kernel.org/pub/linux/libs/pam/Linux-PAM-html/… . Maalesef başka alternatif bilmiyorum.
Roman Cheplyaka

as(adres alanı sınırı) hile @cib açıklandığı gibi yapmalıdır. İstediğiniz gibi ayarlayın rss.
errant.info


1

Rts.conf dosyasındaki RSS sınırı> 2.4.30 çekirdeklerde çalışmaz.

Cgroups kullanmalısınız


Ayrıca grupların nasıl kullanılacağını da söylemelisiniz.
Cristian Ciupitu

@CristianCiupitu Cgroups belgelerine bağlantı verdim. Ben kendim Cgroups uzmanı değilim ve yeni öğrenmeye başladım, böylece benim sunucularımda limit.conf değiştirebilirim.
PaulDaviesC
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.