2013-04-11 120 views
2

我的虛擬機上安裝了redis,我一段時間都沒有使用它。 (最後我使用它,它確實工作,現在它沒有......當時沒有任何變化(大約一個月))。不用說,我很困惑,但我會盡可能多地發佈信息。Redis無故障立即崩潰

$ redis-server

服務器啓動,但會拋出一個關於內存過警告被設置爲0。我在一個虛擬機,所以如果我想我不能從0將此設置更改爲1,這我不會無論如何,我不想爲了我的目的。我已經寫了一個自定義的redis.config文件,我希望它使用(以及我過去使用的),因此,使用默認配置文件啓動它並不會對我有很大幫助。讓我們再試一次。

$ redis-server redis.config 
$ 

什麼都沒有。安靜。沒有錯誤信息,只是沒有開始。

$ nohup redis-server redis.config > nohup.out&

我得到一個進程ID,但隨後$ ps和我看到的過程被列爲stop轉眼間消失。同樣,nohup.out中也沒有錯誤,也沒有在redis的日誌文件中輸出。下面是我使用(沒有評論保持短)

daemonize yes 
pidfile [my-user-account-path]/redis/redis.pid 
port 0 
bind 127.0.0.1 
unixsocket [my-user-account-path]/tmp/redis.sock 
unixsocketperm 770 
timeout 10 
tcp-keepalive 60 
loglevel warning 
logfile [my-user-account-path]/redis/logs/redis.log 
databases 16 
save 900 1 
save 300 10 
save 60 10000 
stop-writes-on-bgsave-error no 
rdbcompression no 
rdbchecksum no 
dbfilename dump.rdb 
dir [my-user-account-path]/redis/db 
slave-serve-stale-data yes 
slave-priority 100 
appendonly no 
lua-time-limit 5000 
slowlog-log-slower-than 10000 
slowlog-max-len 128 

# ADVANCED CONFIG is set to all default settings# 

我敢肯定,這可能是一些愚蠢的,甚至可能是一個權限的事情某處redis.config(我試過執行此爲根,fyi),無濟於事。有人經歷過與Redis類似的事情嗎?

+0

確保不會了pidfile不** * *在啓動redis之前存在,儘管這應該會在日誌中給出提示。 – adrianp 2013-04-11 19:37:37

+0

pidfile確實存在,但仍然發生同樣的事情。 (它確實創建了一個新的pid文件) – runspired 2013-04-11 19:40:43

+1

在pid文件不存在的情況下,redis日誌現在顯示: '[23272] 11 Apr 12:40:55.860#無法將最大文件數限制爲10032允許),設置最大客戶端配置爲3984. [23272] 11月12日:40:55.861#服務器啓動,Redis版本2.6.10 [23272] 11 Apr 12:40:55.861#警告overcommit_memory設置爲0!後臺保存可能在內存不足的情況下失敗。要解決此問題,請在/etc/sysctl.conf中添加'vm.overcommit_memory = 1',然後重新啓動或運行命令'sysctl vm.overcommit_memory = 1'以使其生效。' – runspired 2013-04-11 19:41:58

回答

0

我也遇到過redis崩潰。只是一個供參考 - 這傢伙負責多的Redis的發展,薩爾瓦託雷聖菲利波,又名antirez的,會保留對Redis的崩潰,一些有識之士一個有趣的博客:

http://antirez.com/news/43