Я пытаюсь изменить ограничение размера памяти memcache в моем окружении CentOS. Я изучил другие вопросы и выяснил, что ДОЛЖЕН быть файл, который в основном находится в /etc/sysconfig/memcached
а если нет, я смогу найти его с locate
.
Оба варианта у меня не сложились. Единственный найденный файл находится в /root/rpms/memcached-1.4.5/t/sasl/memcached.conf
И, похоже, не ссылается на ограничения памяти.
Когда я запускаю memcache, я устанавливаю его через командную строку следующим образом:
memcached -d -m 2048 -u root -l 0.0.0.0 -p 11211
Я предполагаю, что это означает, что я просто не использую какой-либо файл настроек конфигурации, и, возможно, лучше его добавить. Как мне добавить такой файл и заставить memcached начать использовать его конфигурацию.
Попробуйте найти файл конфигурации с помощью rpm -q memcached -c
Если у вас есть сценарий инициализации для memcached в /etc/init.d/, вы можете увидеть, пытается ли он загрузить какой-либо файл конфигурации, если нет, или нет сценария инициализации, вы можете его создать.
Это пример сценария инициализации для моего memcached:
#! /bin/sh # # chkconfig: - 55 45 # description: The memcached daemon is a network memory cache service. # processname: memcached # config: /etc/sysconfig/memcached # pidfile: /var/run/memcached/memcached.pid # Standard LSB functions #. /lib/lsb/init-functions # Source function library. . /etc/init.d/functions PORT=11211 USER=memcached MAXCONN=1024 CACHESIZE=64 OPTIONS="" if [ -f /etc/sysconfig/memcached ];then . /etc/sysconfig/memcached fi # Check that networking is up. . /etc/sysconfig/network if [ "$NETWORKING" = "no" ] then exit 0 fi RETVAL=0 prog="memcached" pidfile=${PIDFILE-/var/run/memcached/memcached.pid} lockfile=${LOCKFILE-/var/lock/subsys/memcached} start () { echo -n $"Starting $prog: " # Ensure that $pidfile directory has proper permissions and exists piddir=`dirname $pidfile` if [ ! -d $piddir ]; then mkdir $piddir fi if [ "`stat -c %U $piddir`" != "$USER" ]; then chown $USER $piddir fi daemon --pidfile ${pidfile} memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P ${pidfile} $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch ${lockfile} } stop () { echo -n $"Stopping $prog: " killproc -p ${pidfile} /usr/bin/memcached RETVAL=$? echo if [ $RETVAL -eq 0 ] ; then rm -f ${lockfile} ${pidfile} fi } restart () { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status -p ${pidfile} memcached RETVAL=$? ;; restart|reload|force-reload) restart ;; condrestart|try-restart) [ -f ${lockfile} ] && restart || : ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart|try-restart}" RETVAL=2 ;; esac exit $RETVAL
Вы можете видеть, что сценарий инициализации пытается загрузить файл конфигурации в это место:
if [ -f /etc/sysconfig/memcached ];then . /etc/sysconfig/memcached fi
Вы можете попробовать скопировать этот скрипт и сделать файл конфигурации / etc / sysconfig / memcached Это пример конфигурации:
PORT="66266" USER="memcached" MAXCONN="1024" CACHESIZE="2048" OPTIONS=""
После создания сценария инициализации (не забудьте указать chmod + x /etc/init.d/memcached) и файла конфигурации вы сможете запустить memcached с помощью service memcached start
Впоследствии вы можете добавить этот сценарий инициализации в chkconfig, и тогда система автоматически запустит memcached после перезапуска.
chkconfid -add memcached chkconfig memcached on