如何增加debian中弹性搜索的打开文件数量限制?

时间:2012-10-19 04:45:04

标签: memory-management elasticsearch

任何人都可以帮我解决如何在Debian中增加弹性搜索的最大打开文件数量吗? 另外关于如何增加其内存限制? 以及如何检查是否应用了内存限制? 我有一个文件“/etc/init.d/elasticsearch”,其设置如下:

`#! /bin/sh`
`### BEGIN INIT INFO`
`# Provides:          elasticsearch`
`# Required-Start:    $all`
`# Required-Stop:     $all`
`# Default-Start:     2 3 4 5`
`# Default-Stop:      0 1 6`
`# Short-Description: Starts elasticsearch`
`# Description:       Starts elasticsearch using start-stop-daemon`
`### END INIT INFO`

`ES_HOME=/usr/local/elasticsearch`
`ES_MIN_MEM=256m`
`ES_MAX_MEM=2g`
`DAEMON=$ES_HOME/bin/elasticsearch`
`NAME=elasticsearch`
`DESC=elasticsearch`
`PID_FILE=/var/run/$NAME.pid`
`LOG_DIR=/var/log/$NAME`
`DATA_DIR=/var/lib/$NAME`
`WORK_DIR=/tmp/$NAME`
`CONFIG_FILE=/etc/$NAME/elasticsearch.yml`
`DAEMON_OPTS="-p $PID_FILE -Des.config=$CONFIG_FILE -Des.path.home=$ES_HOME -Des.path.logs=$LOG_DIR -Des.path.data=$DATA_DIR -Des.path.work=$WORK_DIR"`


`test -x $DAEMON || exit 0
 set -e
 case "$1" in
  start)
    echo -n "Starting $DESC: "
    mkdir -p $LOG_DIR $DATA_DIR $WORK_DIR
    if start-stop-daemon --start --pidfile $PID_FILE --startas $DAEMON -- $DAEMON_OPTS
    then
        echo "started."
    else
        echo "failed."
    fi
    ;;
  stop)
    echo -n "Stopping $DESC: "
    if start-stop-daemon --stop --pidfile $PID_FILE
    then
        echo "stopped."
    else
        echo "failed."
    fi
    ;;
  restart|force-reload)
    ${0} stop
    sleep 0.5
    ${0} start
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0

任何有关这些的帮助将不胜感激.. 在此先感谢..

1 个答案:

答案 0 :(得分:0)

尝试使用-Des.max-open-files = true启动elasticsearch,以便在启动时打印可在系统上打开多少文件或执行

cat /proc/sys/fs/file-max

注意数字

sudo vi /etc/sysctl.conf

添加一行包含最大文件(上一个号码):

fs.file-max = 100000

退出并重新登录。它应该工作。

对于内存,只需编辑ES_MIN_MEM和ES_MAX_MEM并为两者设置相同的值(此框中约占总RAM的60%)

HTH