怎么解决redis连接超时问题
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章给大家分享的是有关怎么解决redis连接超时问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题描述:redis连接超时,然后定位到redis配置文件目录被删除,
千家信息网最后更新 2025年01月24日怎么解决redis连接超时问题
这篇文章给大家分享的是有关怎么解决redis连接超时问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
问题描述:
redis连接超时,然后定位到redis配置文件目录被删除,接着尝试重启redis,发现连接中断,未启动成功。
报错:
查看redis的输出日志。出现下图所示的报错:
根据提示在/etc/sysctl.conf文件中添加vm.overcommit_memory = 1,
修改其大透明页,并将调整redis的timeout从300到500重启正常;
echo never > /sys/kernel/mm/transparent_hugepage/enabled
关于vm.overcommit_memory
它是 内存分配策略可选值:0、1、2。0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
关于Overcommit和OOM
Linux对大部分申请内存的请求都回复"yes",以便能跑更多更大的程序。因为申请内存后,并不会马上使用内存。这种技术叫做 Overcommit。当linux发现内存不足时,会发生OOM killer(OOM=out-of-memory)。它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存。当oom-killer发生时,linux会选择杀死哪些进程?选择进程的函数是oom_badness函数(在mm/oom_kill.c中),该 函数会计算每个进程的点数(0~1000)。点数越高,这个进程越有可能被杀死。每个进程的点数跟oom_score_adj有关,而且 oom_score_adj可以被设置(-1000最低,1000最高)。
关于/sys/kernel/mm/transparent_hugepage/enabled
透明大页介绍Transparent Huge Pages的一些官方介绍资料:Transparent Huge Pages (THP) are enabled by default in RHEL 6 for all applications. The kernel attempts to allocate hugepages whenever possible and any Linux process will receive 2MB pages if the mmap region is 2MB naturally aligned. The main kernel address space itself is mapped with hugepages, reducing TLB pressure from kernel code. For general information on Hugepages, see: What are Huge Pages and what are the advantages of using them?The kernel will always attempt to satisfy a memory allocation using hugepages. If no hugepages are available (due to non availability of physically continuous memory for example) the kernel will fall back to the regular 4KB pages. THP are also swappable (unlike hugetlbfs). This is achieved by breaking the huge page to smaller 4KB pages, which are then swapped out normally.But to use hugepages effectively, the kernel must find physically continuous areas of memory big enough to satisfy the request, and also properly aligned. For this, a khugepaged kernel thread has been added. This thread will occasionally attempt to substitute smaller pages being used currently with a hugepage allocation, thus maximizing THP usage.In userland, no modifications to the applications are necessary (hence transparent). But there are ways to optimize its use. For applications that want to use hugepages, use of posix_memalign() can also help ensure that large allocations are aligned to huge page (2MB) boundaries.Also, THP is only enabled for anonymous memory regions. There are plans to add support for tmpfs and page cache. THP tunables are found in the /sys tree under /sys/kernel/mm/redhat_transparent_hugepage.
查看是否启用透明大页
cat /sys/kernel/mm/transparent_hugepage/enabled[always] madvise never使用命令查看时,如果输出结果为[always]表示透明大页启用了。[never]表示透明大页禁用、[madvise]表示(只在MADV_HUGEPAGE标志的VMA中使用THP如何HugePages_Total返回0,也意味着标准大页禁用了(注意传统/标准大页和透明大页的区别)透明大页(THP)管理和标准/传统大页(HP)管理都是操作系统为了减少页表转换消耗的资源而发布的新特性,虽然ORACLE建议利用大页机制来提高数据库的性能,但是ORACLE却同时建议关闭透明大页管理。这二者的区别在于大页的分配机制,标准大页管理是预分配的方式,而透明大页管理则是动态分配的方式。[root@appnode001 ~]# grep -i HugePages_Total /proc/meminfo HugePages_Total: 0cat /proc/sys/vm/nr_hugepages返回0也意味着传统大页禁用了(传统大页和透明大页)。[root@appnode001 ~]# cat /proc/sys/vm/nr_hugepages0
感谢各位的阅读!关于"怎么解决redis连接超时问题"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
内存
进程
分配
管理
传统
内核
标准
问题
函数
更多
点数
选择
内容
建议
意味
文件
方式
机制
物理
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
google云服务器文件拷贝
云南工程软件开发商
怎么用维普数据库检索
网站服务器怎么加密
列举几种常用的无线网络技术
动态dns服务器
暗黑破坏神3亚洲服务器
三调数据库怎么打开
网络安全专业排名大学
宁波能源数据库
app软件开发评论图片
云服务器一般使用什么硬盘
医院未按照网络安全法
上海电子网络技术服务费
软件开发管理会计证
数据库中交叉表由三部分组成
数据库关系模式分解为3NF例题
软件开发江苏省奖励文件
大学中网络安全
服务器虚拟主机不一样
国家图书馆的数据库
培养数据库管理人员的专业
燃烧的远征服务器人口普查2022
网站服务器怎么加密
江苏数据库安全箱厂家现货
软件开发什么时候是6%
桓台网络审批oa软件开发
共享服务器能用多少个电视
网络安全专业排名大学
mysql 数据库元数据