Belirli bir kullanıcı için varsayılan hoş değeri ayarlama (limit.conf)


12

Birisi bana bir kullanıcının varsayılan değerini nice(tarafından gösterildiği gibi top) nasıl ayarlayacağımı söyleyebilir mi? Ben /etc/security/limits.conf yer olduğunu bulduk ama eğer ben koymak:

username_of_a_guy  -  nice  19
username_of_a_guy  soft  nice  19
username_of_a_guy  hard  nice  19

Çalışmıyor (olması gerekirken değil mi?).

O zamandan beri yeniden başlattığımı unutmayın.

Herhangi bir yardım için şimdiden çok teşekkür ederim . Debian kararsız (güncel) kullanıyorum.

Bağlam:

İşimde yerel bir ağımız var: herkesin kendi bilgisayarı var ve herkes isterse başka birinin makinesinde bir hesap oluşturabilir. Temel kural, başka bir bilgisayarda çalışıyorsanız, lütfen işlemlerinizi ( nice 19) güzelleştirmektir .

Belirli bir kullanıcı için varsayılan güzel değeri 19 kez ve herkes için ayarlamak istiyorum.


Yanıtlar:


13

Doğru formatın olduğuna inanıyorum:

@users      -       priority        10
username    -       priority        19

Bu, üretimde kullandığım ayarlara bir örnektir (açıkçası gerçek kullanıcılarla / gruplarla).

Bu niceayar, birinin varsayılan önceliklerini değil, işlemlerini ayarlayabileceği minimum hoş değeri (yani maksimum öncelik) belirlemektir.


2
Her şeyden önce, cevabınız için teşekkürler (ayrıca teşekkür ederim, @mattdm). Bu yöntem işe yarıyor gibi görünüyor. Ancak, hala "güzel" ve "öncelik" arasındaki fark hakkında kafam karıştı: her ikisi de "üst" ile görüntülenir, ancak nice için alıntılanan değer öncelik için ayarlamak zorunda değerdir. Bana biraz garip geliyor. Ayrıca, daha büyük bir öncelik (20 yerine 39 diyelim), hoşuna göre daha az önemli bir süreç anlamına mı geliyor? Teşekkür ederim.
Alex

4
En üstteki 'NI' güzel önceliği, limitler priorityayarıyla belirlenecek olan şeydir . Bu, oturum açtıklarında o kullanıcı / grup için herhangi bir işlemin varsayılan önceliği olacaktır. Bunu yalnızca -20 ile 20 arasında olacak şekilde ayarlayabilirsiniz. Üstteki 'PR' değeri, birkaç tarafından belirlenen gerçek zamanlayıcı önceliğidir. çekirdeğin zamanlayıcısı tarafından faktörler.
jsbillings

1
Ayrıca, evet, daha yüksek bir öncelik, CPU döngüleri almak için zamanlanmasının daha az olası olduğu anlamına gelir.
jsbillings

1
Tamam, bu anlamsızlık için çok teşekkürler. BTW, benimki dışında başka durumlarda daha iyi olabilecek (dahil andveya cgroup) diğer yöntemleri denemedim ( sürekli kontrol ihtiyacı veya birçok kullanıcının yönetimi - ki bu benim durumumda biraz fazla).
Alex

Hmmmm ... Bu Ubuntu makinemde bir kullanıcı için çalıştı, diğeri için değildi. Nedenini çözebilirsem geri geleceğim. ;-)
Ken Sharp

3

Bunun benim sistemimde de çalışmadığını doğrulayabilirim. Dokümanlar "çekirdek 2.6.11 ve üstü" diyor ve ben 2.6.38-rc6 çekirdeği ile Fedora ham deridindeyim. Zamanlayıcıya bağlı olup olmadığını ve 2.6.23 CFQ ("Tamamen Adil Zamanlayıcı") ile çalışmadığını merak ediyorum.

Bununla birlikte, işe yarayacak bir şey, korkunç adı nedeniyle araması imkansız and- otomatik hoş arka plan programıdır. Bkz. Http://and.sourceforge.net/ . Bu Fedora ile kullanılabilir yum install and, ancak maalesef EPEL'de görünmüyor. Ve çok Debian öyle: apt-get install and.

Modern bir dağıtım kullanıyorsanız, Daha İyi Bir Yol var. Sen gelen araçları kullanabilirsiniz libcgroup bir çekirdek düzeyinde kurmak için CGroup bu CGroup içine ve otomatik olarak "sınıfladıkları'nı" için o kullanıcının süreçlerini sınırlayan CPU hisseleri. Bununla, G / Ç'ye öncelik verebilir ve bellek kullanımını sınırlandırabilirsiniz (disk önbelleğinin paylaşımı dahil).


Cgroups kullanmanın, diğer insanların bilgisayarınızdaki tüm CPU döngülerini çalmasını sınırlamanın mükemmel bir yolu olduğunu kabul ediyorum. Ne yazık ki, desteklediğim sistemlerde (RHEL5) onu destekleyen çekirdekler yok, bu yüzden önceliği ayarlamaya bağlı kalmalıyım. RHEL6'ya güncelledikten sonra, oldukça karmaşık bazı grup ayarlarımız olacağından eminim.
jsbillings
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.