首页 > 数据库 >启动redis时,告警日志中出现“The TCP backlog setting of 511……”以及“overcommit_memory is set to 0…..”警告

启动redis时,告警日志中出现“The TCP backlog setting of 511……”以及“overcommit_memory is set to 0…..”警告

时间:2023-04-03 21:01:39浏览次数:49  
标签:03 set 17 .. overcommit Apr 52 2023 2685

问题描述:启动redis时,告警日志中出现“The TCP backlog setting of 511……”以及“overcommit_memory is set to 0…..”警告,如下所示:
系统:rhel 7.9
数据库:redis 6.2.6
1、异常重现
[root@leo-redis626-a redis-6.2.6]# redis-server redis6379.conf
[root@leo-redis626-a redis-6.2.6]# tail -5000f redis.log

2685:C 03 Apr 2023 17:52:14.825 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2685:C 03 Apr 2023 17:52:14.825 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=2685, just started
2685:C 03 Apr 2023 17:52:14.825 # Configuration loaded
2685:M 03 Apr 2023 17:52:14.829 * Increased maximum number of open files to 10032 (it was originally set to 1024).
2685:M 03 Apr 2023 17:52:14.829 * monotonic clock: POSIX clock_gettime
2685:M 03 Apr 2023 17:52:14.830 * Running mode=standalone, port=6379.
2685:M 03 Apr 2023 17:52:14.831 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
2685:M 03 Apr 2023 17:52:14.831 # Server initialized
2685:M 03 Apr 2023 17:52:14.831 # 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.
2685:M 03 Apr 2023 17:52:14.831 * Loading RDB produced by version 6.2.6
2685:M 03 Apr 2023 17:52:14.831 * RDB age 962 seconds
2685:M 03 Apr 2023 17:52:14.832 * RDB memory usage when created 2.05 Mb
2685:M 03 Apr 2023 17:52:14.832 # Done loading RDB, keys loaded: 1, keys expired: 0.
2685:M 03 Apr 2023 17:52:14.832 * DB loaded from disk: 0.001 seconds
2685:M 03 Apr 2023 17:52:14.832 * Ready to accept connections
2、解决过程
2.1、警告1
警告原因:该警告表示无法强制设置TCP backlog为511,因为/proc/sys/net/core/somaxconn设置为较低的值128。
解决方法:
A、echo 511 > /proc/sys/net/core/somaxconn,注意此命令只是暂时生效,重启后会失效。
B、编辑/etc/sysctl.conf,添加net.core.somaxconn = 1024,然后执行sysctl -p使其永久生效。
实施过程:
[root@leo-redis626-a redis-6.2.6]# cat <<EOF>>/etc/sysctl.conf
net.core.somaxconn = 1024
EOF
[root@leo-redis626-a ~]# /sbin/sysctl -p
net.core.somaxconn = 1024
2.2、警告2
警告原因:
overcommit_memory设置为0,在内存不足的情况下,后台保存可能失败。
解决方法:
--执行命令进行配置
[root@leo-redis626-a redis-6.2.6]# echo 1 > /proc/sys/vm/overcommit_memory
说明:此后重启redis,告警日志不在报错.
相关值的介绍:
0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则内存申请失败,并把错误返回给应用进程。
1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2:表示内核允许分配超过所有物理内存和交换空间总和的内存。

参考网址:
https://blog.csdn.net/afreon/article/details/118727725
https://blog.csdn.net/u013131716/article/details/118938471

标签:03,set,17,..,overcommit,Apr,52,2023,2685
From: https://blog.51cto.com/u_12991611/6167501

相关文章

  • redis使用setnx+lua实现分布式锁
    在Redis中,使用SETEX命令(对应RedisTemplate的setIfAbsent方法)可以实现一个最简易的分布锁。SETEX命令当key不存在的话,才会设置key的值,如果可以已经存在,就不做任何操作。为了避免锁无法被释放,就给这个key(也就是锁)设置一个过期时间。为了保证解锁操作的原子性,使用Lua脚本进行释放锁......
  • StreamSets单机版安装文档
    StreamSets单机版安装文档解压安装包到opt目录tar-zxvfstreamsets-datacollector-common-3.22.3.tgz-C/opt修改为sdc配置为表单认证cd/opt/streamsets-datacollector-3.22.3/vietc/sdc.propertieshttp.authentication=form后台启动nohup./bin/streamsets......
  • es(Elasticsearch)查询报错: Set fielddata=true on [level] in order to load fieldd
     Invocationofinitmethodfailed;nestedexceptionisElasticsearchStatusException[Elasticsearchexception[type=search_phase_execution_exception,reason=allshardsfailed]];nested:ElasticsearchException[Elasticsearchexception[type=illegal_argument_......
  • ResultSet详解
    ResultSet类型ResultSet对象的类型主要体现在两个方面:(1)游标可操作的方式。(2)ResultSet对象的修改对数据库的影响。后者称为ResultSet对象的敏感性。ResultSet有3种不同的类型,分别说明如下。(1)TYPE_FORWARD_ONLY​ 这种类型的ResultSet不可滚动,游标只能向前移动,从第一行到最后......
  • 垃圾回收之CardTable和Remembered Set
    JVM在进行垃圾收集的时候,有一项非常重要的工作就是确定这一次垃圾收集的对象到底有多少个,即确定liveset的范围。卡表和RSet(RememberSet),是JVM为了解决分代收集时,liveset扫描需要穿梭到不同的代的时候的效率问题。对于新生代垃圾收集器而言,这个问题又有其特殊之处。根据......
  • MacOS-Setup-GenshinImpact
    MacOS-Setup-GenshinImpact导航(返回顶部)1.GenshinImpact1.1国内安装包1.2国际安装包1.3云平台游戏2.安装2.1下载并安装PlayCover2.2添加ipa源2.3安装ipa软件3.登陆验证3.1关闭SIP3.2添加参数并登陆验证3.3重新开启SIP3.4补充阅读3.5更......
  • overcommit_memory的简单学习
    overcommit_memory的简单学习背景前几天一个测试环境启动失败.总是有如下的提示:Nativememoryallocation(mmap)failedtomap12288bytesforcommittingreservedmemory.当时看free其实内存剩余总量还是有的.但是JVM启动总是失败.当时没有考虑太多.改了下参数......
  • Angular Generating browser application bundles (phase: setup)...An unhandled ex
    PSF:\WorkGitHub\angulard3tree>ngserve⠋Generatingbrowserapplicationbundles(phase:setup)...Anunhandledexceptionoccurred:webpack_1.AngularWebpackPluginisnotaconstructorSee"C:\Users\ghosii\AppData\Local\Temp\ng-daZXzA\angu......
  • html dom关于offset和client和scroll属性的详细说明
    确定元素的尺寸在WindowsInternetExplorer9中使用CSSOM测量元素尺寸和位置......
  • MySQL插入数据报错:1366 Incorrect string value: '\xF0\xA0\xB9\xB3\xF0\xA0...
    [10501]SQLSTATE[22007]:Invaliddatetimeformat:1366Incorrectstringvalue:'\xF0\xA0\xB9\xB3\xF0\xA0...'forcolumnxxxxatrow1是因为MySQL不能识别4个字节的utf8编码的字符,抛出了异常。解决办法将字符类型换成改为utf8mb4数据库:ALTERDATABASE`db_name`C......