Giriş
ulimit komutu genellikle login shell dosyası olan /etc/profile dosyasına yazılır. Tüm alanları gösteren çıktı şöyledir
ulimit komutu genellikle login shell dosyası olan /etc/profile dosyasına yazılır. Tüm alanları gösteren çıktı şöyledir
[root@jboss02 ~]# 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) 72192
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 72192
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
max user processes Alanı
Kullanıcının kaç tane process/thread açabileceğini gösterir. Eğer üst sınır aşılırsa, örneğin yeni bir thread yaratılamazsa, Java'da şu hatayı alırız.
Kullanıcının kaç tane process/thread açabileceğini gösterir. Eğer üst sınır aşılırsa, örneğin yeni bir thread yaratılamazsa, Java'da şu hatayı alırız.
Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
-a seçeneği
Şöyle yaparız
ulimit -aH
Tüm atanmış değerleri gösterir.-c seçeneği - core dosyası
Eğer core dump üretme yeteneği kapalı ise şuna benzer bir hata alırız.
Üretilen core dosyası için kullanılacak büyüklüğü belirtir.Failed to write core dump. Core dumps have been disabled. To enable core dumping, try ulimit -c unlimited before starting Java again
Örnek
core dosyası üretilmesin istiyorsak şöyle yaparız.
ulimit -c 0
ÖrnekŞöyle yaparız.
ulimit -c unlimited
Örnekcore dosyasında kullanılacak örüntü için şöyle yaparız.
sysctl -w kernel.core_pattern='/var/core/%e.%p.%h.%t.core'
ÖrnekŞöyle yaparız.
#!/bin/sh
#
# Starts the application.
#
NAME=my_app
test -x /usr/bin/my_app || exit 0
start() {
echo -n "Starting my app "
sysctl -w kernel.core_pattern='/var/core/%e.%p.%h.%t.core'
ulimit -c unlimited
$NAME > /dev/null 2>&1 &
echo "OK"
}
-H seçeneği - hard linkŞöyle yaparız.
ulimit -Hn 1048576
-l seçeneğiBelirtilen alanı sorgular. Şöyle yaparız.
ulimit -c -l
Çıktı olarak şunu alırız.core file size (blocks, -c) unlimited
max locked memory (kbytes, -l) 64
-T seçeneği - threadUygulamanın kullanabileceği thread sayısı ayarlanabilir.
-S seçeneği - soft link
Örnek
Değiştirmek için şöyle yaparız.
$ ulimit -Su 2000
$ ulimit -a | grep processes
max user processes (-u) 2000
ÖrnekŞöyle yaparız.
ulimit -Sn 1048576
-s seçeneği - stack"ulimit -s" komutuyla da uygulamanın en fazla ne kadar stack (kilobyte cinsinden) kullanabileceği ayarlanabilir.
ulimit -Hn 4096 bu değeri kalıcı olarak nasıl arttırabilirim
YanıtlaSil/etc/security/limits.conf dosyası kullanılabilir. https://linuxcorbasi.blogspot.com/2018/08/etcsecuritylimitsconf-dosyas.html yazısına bakın, veya ulimit komutunu /etc/profile dosyasına yazın
Sil