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

今天開(kāi)發(fā)突然和我說(shuō)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ù)解決您的所有建站問(wèn)題。

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)限問(wèn)題導(dǎo)致的,也不是內(nèi)存耗盡

通過(guò)查看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)程呢?肯定會(huì)報(bào)內(nèi)存無(wú)法分配的。更可氣的是,越是改動(dòng)頻繁的主機(jī)上fork也越頻繁,fork操作本身的代價(jià)恐怕也不會(huì)比假死好多少。

工作問(wèn)題之:redis 保存快照問(wèn)題

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

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

參數(shù)解釋:

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

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

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

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

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

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

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

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

這里注意:

在redis中運(yùn)行config set stop-writes-on-bgsave-error no命令只能暫時(shí)解決不能set的問(wèn)題。出了問(wèn)題還是要看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元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站標(biāo)題:工作問(wèn)題之:redis保存快照問(wèn)題-創(chuàng)新互聯(lián)
瀏覽路徑:http://bm7419.com/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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

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