工作問題之:redis保存快照問題-創(chuàng)新互聯(lián)

今天開發(fā)突然和我說redis 不能寫了。我進(jìn)入redis后發(fā)現(xiàn)確實(shí)是這樣,不可以執(zhí)行set指令了。報(bào)錯(cuò)如下:

創(chuàng)新互聯(lián)建站公司2013年成立,先為武陵源等服務(wù)建站,武陵源等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為武陵源企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

172.31.18.90:6379> set  test test1

(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

之前redis一直是正常的。不是權(quán)限問題導(dǎo)致的,也不是內(nèi)存耗盡

通過查看log發(fā)現(xiàn)是這個(gè)報(bào)錯(cuò)fork: Cannot allocate memory

在小內(nèi)存的進(jìn)程上做一個(gè)fork,不需要太多資源,但當(dāng)這個(gè)進(jìn)程的內(nèi)存空間以G為單位時(shí),fork就成為一件很恐怖的操作。何況在16G內(nèi)存的主機(jī)上fork 14G內(nèi)存的進(jìn)程呢?肯定會報(bào)內(nèi)存無法分配的。更可氣的是,越是改動頻繁的主機(jī)上fork也越頻繁,fork操作本身的代價(jià)恐怕也不會比假死好多少。

工作問題之:redis 保存快照問題

找到原因之后,直接修改內(nèi)核參數(shù) vm.overcommit_memory = 1

sysctl -p 使內(nèi)核參數(shù)生效

參數(shù)解釋:

Linux內(nèi)核會根據(jù)參數(shù)vm.overcommit_memory參數(shù)的設(shè)置決定是否放行。

如果 vm.overcommit_memory = 1,直接放行

vm.overcommit_memory = 0:則比較 此次請求分配的虛擬內(nèi)存大小和系統(tǒng)當(dāng)前空閑的物理內(nèi)存加上swap,決定是否放行。

vm.overcommit_memory = 2:則會比較 進(jìn)程所有已分配的虛擬內(nèi)存加上此次請求分配的虛擬內(nèi)存和系統(tǒng)當(dāng)前的空閑物理內(nèi)存加上swap,決定是否放行。

這里在重新發(fā)一下redis 的回寫機(jī)制

Redis的數(shù)據(jù)回寫機(jī)制分同步和異步兩種,

同步回寫即SAVE命令,主進(jìn)程直接向磁盤回寫數(shù)據(jù)。在數(shù)據(jù)大的情況下會導(dǎo)致系統(tǒng)假死很長時(shí)間,所以一般不是推薦的。

異步回寫即BGSAVE命令,主進(jìn)程fork后,復(fù)制自身并通過這個(gè)新的進(jìn)程回寫磁盤,回寫結(jié)束后新進(jìn)程自行關(guān)閉。由于這樣做不需要主進(jìn)程阻塞,系統(tǒng)不會假死,一般默認(rèn)會采用這個(gè)方法。

這里注意:

在redis中運(yùn)行config set stop-writes-on-bgsave-error no命令只能暫時(shí)解決不能set的問題。出了問題還是要看log的

默認(rèn)配置 stop-writes-on-bgsave-error yes當(dāng)bgsave出錯(cuò)時(shí)數(shù)據(jù)將不能修改

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站標(biāo)題:工作問題之:redis保存快照問題-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article10/cdipgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)自適應(yīng)網(wǎng)站、App設(shè)計(jì)企業(yè)建站、建站公司網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)