Linux/too many open files
"too many open files"-Problem
Anzahl der offene Dateien, die durch einen bestimmten Prozess belegt werden, ermitteln:
- lsof -p <pid> | wc -l
Die aktuellen limits eines Prozesses kann man mit folgender Bash-Funktion ermitteln:
return-limits() {
for process in $@; do
process_pids=`ps -C $process -o pid --no-headers | cut -d " " -f 2`
if [ -z $@ ]; then
echo "[no $process running]"
else
for pid in $process_pids; do
echo "[$process #$pid -- limits]"
cat /proc/$pid/limits
done
fi
done
}
Bsp.: return-limits mongod
Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8720000 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 192276 192276 processes Max open files 1024 4096 files Max locked memory 40960000 40960000 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 192276 192276 signals Max msgqueue size 819200 819200 bytes Max nice priority 30 30 Max realtime priority 65 65 Max realtime timeout unlimited unlimited us