最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決linux下redis數(shù)據(jù)庫overcommit_memory問題

 更新時間:2022年02月23日 16:37:36   作者:whycold  
這篇文章介紹了解決linux下redis數(shù)據(jù)庫overcommit_memory問題的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

背景

公司的redis有時background save db不成功,通過log發(fā)現(xiàn)下面的告警,很可能由它引起的:

[13223] 17 Mar 13:18:02.207 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

于是通過搜索,也有人跟我遇到同樣的問題,基本可以確定是由它引起的。

內(nèi)核參數(shù)overcommit_memory 

它是 內(nèi)存分配策略

可選值:0、1、2。

  • 0, 表示內(nèi)核將檢查是否有足夠的可用內(nèi)存供應用進程使用;如果有足夠的可用內(nèi)存,內(nèi)存申請允許;否則,內(nèi)存申請失敗,并把錯誤返回給應用進程。
  • 1, 表示內(nèi)核允許分配所有的物理內(nèi)存,而不管當前的內(nèi)存狀態(tài)如何。
  • 2, 表示內(nèi)核允許分配超過所有物理內(nèi)存和交換空間總和的內(nèi)存

什么是Overcommit和OOM

Linux對大部分申請內(nèi)存的請求都回復"yes",以便能跑更多更大的程序。因為申請內(nèi)存后,并不會馬上使用內(nèi)存。這種技術叫做Overcommit。當linux發(fā)現(xiàn)內(nèi)存不足時,會發(fā)生OOM killer(OOM=out-of-memory)。它會選擇殺死一些進程(用戶態(tài)進程,不是內(nèi)核線程),以便釋放內(nèi)存。

當oom-killer發(fā)生時,linux會選擇殺死哪些進程?選擇進程的函數(shù)是oom_badness函數(shù)(在mm/oom_kill.c中),該函數(shù)會計算每個進程的點數(shù)(0~1000)。點數(shù)越高,這個進程越有可能被殺死。每個進程的點數(shù)跟oom_score_adj有關,而且oom_score_adj可以被設置(-1000最低,1000最高)。

解決方法:

很簡單,按提示的操作(將vm.overcommit_memory 設為1)即可:

有三種方式修改內(nèi)核參數(shù),但要有root權限:

  • (1)編輯/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效
  • (2)sysctl vm.overcommit_memory=1
  • (3)echo 1 > /proc/sys/vm/overcommit_memory

到此這篇關于解決linux下redis數(shù)據(jù)庫overcommit_memory問題的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • redis使用skiplist跳表的原因解析

    redis使用skiplist跳表的原因解析

    經(jīng)常會有人問這個問題,redis中為什么要使用跳表?這個問題,redis作者已經(jīng)給出過明確答案,今天通過本文再給大家講解下這個問題,對redis?skiplist跳表知識感興趣的朋友一起看看吧
    2022-10-10
  • Redis過期鍵與內(nèi)存淘汰策略深入分析講解

    Redis過期鍵與內(nèi)存淘汰策略深入分析講解

    因為redis數(shù)據(jù)是基于內(nèi)存的,然而內(nèi)存是非常寶貴的資源,然后我們就會對一些不常用或者只用一次的數(shù)據(jù)進行存活時間設置,這樣才能提高內(nèi)存的使用效率,下面這篇文章主要給大家介紹了關于Redis中過期鍵與內(nèi)存淘汰策略,需要的朋友可以參考下
    2022-11-11
  • Linux快速部署Redis

    Linux快速部署Redis

    這篇文章介紹了Linux下快速部署Redis的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-01-01
  • 使用Jedis面臨的非線程安全問題詳解

    使用Jedis面臨的非線程安全問題詳解

    網(wǎng)上都說jedis實例是非線程安全的,常常通過JedisPool連接池去管理實例,在多線程情況下讓每個線程有自己獨立的jedis實例,但都沒有具體說明為啥jedis實例時非線程安全的,本文就來和大家詳細說說
    2022-12-12
  • Redis Cluster的圖文講解

    Redis Cluster的圖文講解

    今天小編就為大家分享一篇關于Redis Cluster的圖文講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • redis restore 命令的用法實例詳解

    redis restore 命令的用法實例詳解

    Redis的RESTORE命令用于將DUMP生成的序列化數(shù)據(jù)恢復為鍵值,適用于數(shù)據(jù)遷移、備份恢復和跨實例同步,本文介紹redis restore 命令的用法,感興趣的朋友一起看看吧
    2025-02-02
  • Redis中過期鍵如何刪除示例詳解

    Redis中過期鍵如何刪除示例詳解

    因為redis數(shù)據(jù)是基于內(nèi)存的,然而內(nèi)存是非常寶貴的資源,然后我們就會對一些不常用或者只用一次的數(shù)據(jù)進行存活時間設置,這樣才能提高內(nèi)存的使用效率,下面這篇文章主要給大家介紹了關于Redis中過期鍵如何刪除的相關資料,需要的朋友可以參考下
    2022-04-04
  • IDEA中的Redis插件連接Redis服務器

    IDEA中的Redis插件連接Redis服務器

    本文主要介紹了IDEA中的Redis插件連接Redis服務器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Redis底層數(shù)據(jù)結構之dict、ziplist、quicklist詳解

    Redis底層數(shù)據(jù)結構之dict、ziplist、quicklist詳解

    本文給大家詳細介紹了Redis的底層數(shù)據(jù)結構:dict、ziplist、quicklist的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-09-09
  • Redis內(nèi)存碎片原理深入分析

    Redis內(nèi)存碎片原理深入分析

    這篇文章主要為大家介紹了Redis內(nèi)存碎片原理深入分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02

最新評論

吉水县| 新疆| 宁波市| 色达县| 扶沟县| 崇左市| 海林市| 陆丰市| 黄梅县| 当雄县| 武宁县| 吉林市| 儋州市| 扶绥县| 莱州市| 宜黄县| 镇赉县| 崇仁县| 合川市| 孙吴县| 和龙市| 收藏| 山西省| 乐业县| 唐山市| 北川| 溧阳市| 嘉黎县| 上饶市| 天全县| 固阳县| 文昌市| 鄯善县| 夹江县| 巴马| 甘肃省| 五家渠市| 林周县| 兴隆县| 兴宁市| 冀州市|