Bundan dolayı varsayılan sistem limitlerine takılmamak için limitleri artırabiliriz. Örnek olarak redis servisi ile ilgili limiti artıralım.
systemd ayar dosyasına ekleyebileceğimiz parametreler,
LimitCPU=, LimitFSIZE=, LimitDATA=, LimitSTACK=, LimitCORE=, LimitRSS=, LimitNOFILE=, LimitAS=, LimitNPROC=,
LimitMEMLOCK=, LimitLOCKS=, LimitSIGPENDING=, LimitMSGQUEUE=, LimitNICE=, LimitRTPRIO=, LimitRTTIME=
These settings set both soft and hard limits of various resources for executed processes.
See setrlimit(2) for details. Use the string infinity to configure no limit on a specific resource.
Table 1. Limit directives and their equivalent with ulimit
┌────────────────┬───────────────────┐
│Directive │ ulimit equivalent │
├────────────────┼───────────────────┤
│LimitCPU │ ulimit -t │
├────────────────┼───────────────────┤
│LimitFSIZE │ ulimit -f │
├────────────────┼───────────────────┤
│LimitDATA │ ulimit -d │
├────────────────┼───────────────────┤
│LimitSTACK │ ulimit -s │
├────────────────┼───────────────────┤
│LimitCORE │ ulimit -c │
├────────────────┼───────────────────┤
│LimitRSS │ ulimit -m │
├────────────────┼───────────────────┤
│LimitNOFILE │ ulimit -n │
├────────────────┼───────────────────┤
│LimitAS │ ulimit -v │
├────────────────┼───────────────────┤
│LimitNPROC │ ulimit -u │
├────────────────┼───────────────────┤
│LimitMEMLOCK │ ulimit -l │
├────────────────┼───────────────────┤
│LimitLOCKS │ ulimit -x │
├────────────────┼───────────────────┤
│LimitSIGPENDING │ ulimit -i │
├────────────────┼───────────────────┤
│LimitMSGQUEUE │ ulimit -q │
├────────────────┼───────────────────┤
│LimitNICE │ ulimit -e │
├────────────────┼───────────────────┤
│LimitRTPRIO │ ulimit -r │
├────────────────┼───────────────────┤
│LimitRTTIME │ No equivalent │
└────────────────┴───────────────────┘
redis-server servisini düzenleme modunda açarak, Service altında istediğimiz limitleri ayarlarız.root@xrv:~# systemctl edit --force --full redis-server
[Service]
...
LimitNOFILE=65535
LimitNPROC=65535
Dikkat etmemiz gereken nokta limit değişkenlerinin service bölümünde olmasıdır.
Bu işlem bittikten sonra yaptığımız değişikliği saklayarak çıkarız.
Sonrasında systemd nin değişiklikten haberi olması için;
systemctl daemon-reload
ve son olarakta servisi yeniden (stop/start veye restart) başlatırız.
systemctl restart redis-server
veya
root@xrv:~# systemctl show redis-server -p LimitNPROC
LimitNPROC=126794
root@xrv:~# systemctl show redis-server -p LimitNOFILE
LimitNOFILE=65535
root@xrv:~#
Hiç yorum yok:
Yorum Gönder