启动redis的警告处理

当Redis配置的连接数超过Linux内核限制时会出现警告。本文解释了内核参数`somaxconn`和`overcommit_memory`对Redis的影响,并提供了解决高并发环境下连接数不足的方法,包括调整内核参数和关闭 Transparent Huge Pages (THP)。操作需以root权限执行。
部署运行你感兴趣的模型镜像

警告1 : WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128

解释:上面写的很清晰,意思是配置 /proc/sys/net/core/somaxconn的值是128,虽然redis.conf中配置的是511,但是linux内核会以无提示的方式将其截断为128。在一个高并发的环境下,128是远远不够的,所以我们要改大一些

办法:将net.core.somaxconn = 2048添加到/etc/sysctl.conf中,然后执行sysctl -p 生效配置

警告2: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

解释:overcommit_memory 表内存分配策略,可选值:0、1、2

0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

办法:将vm.overcommit_memory = 1添加到/etc/sysctl.conf中,然后执行sysctl -p生效配置

警告3:WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled

redis建议我们关掉THP,还给出的具体的操作办法,注意必须使用root来操作,否则会失败的

办法:

执行命令

echo never > /sys/kernel/mm/transparent_hugepage/enabled

 并把命令写入到 /etc/rc.local 中

echo never > /sys/kernel/mm/transparent_hugepage/enabled

 

  执行命令 

source /etc/rc.local

都处理后不再警告​:

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 安装并启动 Redis 及其 RESP 协议的可视化工具 #### 一、安装和配置 Redis 为了使 Windows 图形化客户端能够通过 RESP 协议连接到 Linux 上运行的 Redis 服务器,需完成以下操作: 1. **下载并解压 Redis 文件** 需要在目标机器上获取 Redis 的二进制文件或源码包,并按照官方文档说明编译或部署[^1]。 2. **修改 `redis.conf` 配置文件** 编辑 `/etc/redis/redis.conf` 或其他路径下的配置文件,设置允许远程访问的相关参数。例如: ```bash bind 0.0.0.0 # 解除绑定本地地址限制 protected-mode no # 关闭保护模式以便外部客户端可连入 requirepass yourpassword # 设置密码(如果需要) port 6379 # 默认监听端口保持不变或者自定义 ``` 修改完成后保存退出。 3. **重启 Redis 服务以应用更改** 使用命令重新加载新的配置项来生效上述调整。 ```bash systemctl restart redis ``` 这一步确保所有新设定被正确加载至内存中执行[^2]。 4. **处理可能遇到的服务启动失败错误** 如果尝试启动时收到类似于 “Failed to start Redis...” 的警告,则可能是由于权限不足或其他环境因素引起;此时应检查日志记录定位具体原因后再采取相应措施解决它[^4]。 #### 二、启用 RESP 协议支持 Redis 自身即基于 RESP (REdis Serialization Protocol) 构建通信机制,默认情况下已经具备此功能无需额外激活步骤即可正常工作。 #### 三、实现 RESP 协议的可视化交互方式 对于希望获得更直观用户体验的需求方来说,可以选择如下几种常见的图形界面管理软件之一作为辅助手段来进行日常运维管理工作: - **Redis Desktop Manager**: 跨平台解决方案, 支持多操作系统间的无缝切换; 提供丰富的数据展示形式便于理解和分析复杂结构的数据集. - **Another Redis Desktop Manager(ARDM)**: 开源项目, 功能强大且灵活易扩展, 特别适合开发者群体使用场景需求. - **Medis**: macOS 平台专用的选择方案, 设计简洁美观同时兼顾效率考量. 这些应用程序均能很好地兼容标准 RESP 接口规范从而顺利完成各项任务要求[^3]. ```python import redis # 创建 Redis 实例对象用于测试目的 r = redis.StrictRedis(host='your_server_ip', port=6379, password="yourpassword", decode_responses=True) print(r.ping()) # 输出 True 表明成功建立链接关系 ``` 以上 Python 示例展示了如何利用第三方库快速验证网络可达性和基本功能性状况。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值