14 Ocak 2013 Pazartesi

Ubuntu Sistem Parametrelerini Arttırma

Ubuntu üzerinden Nutch ile veri çekerken hatalar almaya başladım.
Hataların sebebini araştırırken sistem parametrelerinde ki sınırlara takıldığımı farkettim.

terminalden çalıştıracağınız ulimit -a komutu ile işletim sistemi bazlı kısıtlarınızı görebiliyorsunuz.


a@a:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3795
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 16384
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3795
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
a@a:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3795
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 16384
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3795
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Bu değerlerden herhangi birini değiştirmek istediğinizde listeden değiştirmek istediğiniz parametreyi bulup yanında belirtilen parantez içindeki değerler ile değişimi yapıyoruz. Örn: open files değerini değiştirmek için:

ulimit -n 16300

Ancak bu değişim kalıcı olmuyor. Parametrelere atadığımız yeni değerler sadece atama yaptığımız terminalde çalıştırılan programlar için geçerli olacaktır. Bu işlemi sadece belirli programlar için ayarlıyorsak bu şekilde kullanmak mantıklıolacaktır.

Yeni atanan parametre değerinin tüm sistemde ve sürekli aktif olmasını istiyorsak "limits.conf" dosyasında atamak istediğimiz değerleri belirtiyoruz.

vi /etc/security/limits.conf

dosyaya aşağıdaki satırları ekleyelim.

* soft nofile 16384
* hard nofile 16384

Dosyayı kaydedip kapattıktan sonra sistemi reboot ediyoruz. Açılışta atamış olduğumuz değerler tüm sistemde aktif hale gelmiş oluyor. Başta "* " karakterini kullandığımız için bu değerler tüm kullanıcılar için geçerli olacaktır.
İstersek bu değerleri sadece belirli kullanıcılar içinde arttırıp azaltabiliriz. Bu durumda  limits.conf dosyasına parametreleri ve değerleri yazarken, hangi kullanıcı için aktif olacağınıda belirtmek gerekiyor.

Örn:
kullanıcı_adi soft nofile 16384
kullanıcı_adi hard nofile 16384

Hiç yorum yok:

Yorum Gönder