Redis 写磁盘出错 Cannot allocate memory

当我早上检查日志的背面时,我发现报告错误的背面。
由于BGSAVE不需要主要过程来阻止,因此系统不会假装死亡。
通常,BGSAVE必须实现数据。
直接更改内核参数vm.ovector_memory = I. Linux内核将决定是否在Sunset参数vm.ovector_memory参数中释放参数vm.ovector_memory参数。
源代码如下:

在Linux中进行Redis的yum安装与配置

如果要在Linux上安装和配置Redis,则可以按照以下步骤进行操作:您可以检查是否已安装REDIS。
使用命令rpmqa | GRREPREDIS检查它是否已安装在服务器上。
如果需要安装和卸载,则可以使用rpme命令卸载它。
如果有依赖关系,则可以使用rpmenodeps命令强制卸载。
安装REDIS:使用Yumyinstallredis命令安装Redis。
成功安装后,您将看到Redis的版本信息。
REDIS配置:为了进行管理便利,请先备份原始配置文件,然后使用命令CPPR/ETC/REDIS.CONF/ETC/REDIS1 .CONF。
接下来,要创建所需的配置,请编辑redis配置文件,该文件通常位于/etc/redis.conf or/usr/ledis/redis/redis/etc/redis.conf中。
启动REDIS服务:使用SystemctLstartredis命令启动REDIS服务。
如果引导失败,则可能需要调整服务配置文件,然后重新加载并启动它。
在电源上配置REDIS:使用SystemCtlenableRedis命令使Redis在启动系统时自动运行。
检查REDIS服务状态和端口号。
使用SystemCtlStatusRedis命令检查REDIS服务的状态。
使用PSEF | GRREPREDIS命令检查REDIS进程是否正在运行。
同时,您可以使用rediscli命令来测试和管理客户端。
外部访问REDIS:获取服务器的IP地址并使用RedisClihx1 .x1 .x1 .x1 p6 3 7 9 命令连接。
关闭并重新启动REDIS服务。
使用SystemCtlStopredis命令关闭REDIS服务。
使用SystemCtLrestArtredis命令重新启动REDIS服务。
注意:修改配置文件时,请注意避免将REDIS正确运行的不正确配置项。
进行外部访问时,请确保服务器的防火墙打开了REDIS端口,并且服务器的IP地址可在外部使用。

为什么Redis要关闭THP?

When you're started under Linux, to see the following warning salaries youhavetransparsheugepages (thp) supportenabledinyandmemornelyusgeswillcreationswithredis.tofixthisitirututhEnmemorrNeSageliteTEntHREDMememberNoSageliteTEntHeTHEDMemorrNeTIntEtIsWithEnCommemand'akonever> / sys / k ernn / mm /透明_huugepage / mm / thranement_huugepage / enabled'asroot; andAddittoyour / etc / rc.localinorderttorettingartingararboot.redismestarthedatatathpisdisafteferthpisdisabled.redis建议转换透射parhugepages(THP)。
那么,什么是透明露天页(THP)(透明的大页面)? Before talk about Thp, let's talk about Hugepages (Note: Large pages (there is a difference between hugepages and transparent large pages) memory is managed by blocks, that is, well-known pages. In Linux 6 4 -bit systems, the default memory is managed as a 4 k page (page). That is to say, a page has 4 09 6 bytes. 1 MB of memory Equals 2 5 6 pages. 2 MB of Memory Equals 5 1 2 pages. If这是一个较大的服务器内存(与索引表相当于索引表,CPU都有一个嵌入式内存管理单位TLB,该单位使用页面上的页面来存储较大的内存页面。
可以通过大量页面来大大减少小页,您可以使用较小的页面来代表许多条目,以代表较小的页面,因此您可以管理更多的记忆力,并减少操作系统的维护。
动态和传统的无效和系统中的无效。
AOF的持久性。
fork(),内核将转换某些内存页面的权限,设置为仅读取,而子过程的地址空间指向父程的过程。
保留一个独立的副本。
如果您使用一个大页,则必须复制一个2 MB大页,这将大大增加繁重的retis写入父母过程的内存消耗,同时复制由每个写入命令引起的记忆页的单位,这将减慢写作操作的执行时间和大量写入的写作时间。
慢速查询的操作。
因此,除了“使用传统大型页面的透明大页面将引起一些问题,导致性能问题和系统重新启动”,以上两个点是RETURN建议关闭THP的更重要原因。

Linux下安装配置redis详细教程,并配置哨兵模式

REDIS版本的Redis-3 .2 .1 2 ,使用工具将安装软件包下载到数据目录中。
在数据目录中创建REDIS文件夹,然后在此目录中安装Redis。
步骤1 :Razip。
步骤2 :安装,前缀=/data/redis用于安装安装目录。
在此阶段,安装了Redis,其余的设置并启动了服务。
输入REDIS目录并创建四个目录:配置文件,杂志杂志,数据库转储和用于存储相关文件的PID过程。
如果这四个目录与配置文件中的配置相对应,则可以将其存储在其他文件夹中,否则在启动服务时将宣布错误。
bin引用是成功安装后的一些命令文件。
Service Redis配置了一个Master和两个奴隶Sentinel模式。
笔记。
如果Sentinel模式未在实际开发中使用,则可以使用一个主和一个从属配置Redis服务。
主REDIS:REDIS_6 3 7 9 .CONF CONFIGURATION SLAVE REDIS,REDIS_6 3 8 0.CONF和REDIS_6 3 8 1 .CONF主要与Master Redis配置相同。
不同之处在于,PID文件的端口,数据库,杂志和名称标记为6 3 8 0或6 3 8 1 最重要的是与大师工作者建立关系和同步验证。
笔记。
要仅使用REDIS服务,您只需要在Slave Redis中的主Redis和Mastraaut中配置需求即可。
密码是一致的,并且密码很难避免攻击。
笔记。
要使用REDIS服务,如果您需要加入REDIS检查访问权限,也可以设置要求,并且密码可能与主REDIS密码不同。
将配置文件放在目录/数据/redis/conf中,然后您可以启动服务。
必须启动启动服务才能在大师科学中订购。
检查服务开始的状态:您还可以检查杂志文件以确认服务是否正常开始。
REDIS通过客户端包含在REDIS系统中,以检查数据同步:Master Redis包含在系统验证中,安装数据:从REDIS输入,获取数据:您没有REDIS的密码,因此您可以在不检查的情况下工作。
Sentinel:群集重新施加模式设置它由3 -5 节组成。
如果单个节点失败,则群集仍然可以正常工作。
Sentinel负责监视REDIS群集的健康。
如果主要的Redis丢失,Sentinel群集将投票选出选择新的主要Redis。
恢复原始的主人Redis时,它将作为新的Redis Master的Redis部落返回Redis群集。
在设置连接主和从属的密码时,应注意,Sentinel不能分别为主和从服务器安装不同的密码,因此应该以相同的方式安装主机和从密码。
也就是说,Master Redis和Slave Redis都应设置Masterauth的需求,并且密码应该相同。
有关Sentinel.conf配置的信息:将配置文件放在目录/数据/REDIS/CONCL中,运行Sentinel服务:确保Sentinel是否有效,并且您可以手动关闭主REDIS。
当前,如果要访问REDIS的REDIS的主要同步数据,您将提供一个错误消息:传感器发现主Redis不起作用后,将Redis从Slave选择为新的Main Redis,通过选举。
查看《哨兵》杂志,您可以发现6 3 8 0被选为新的Redis Master,另外两个Redis用作REDIS奴隶。
笔记。
选择6 3 8 0之后,所有配置文件都将作为主要重新委员会更改,主要是为了恢复主的关系。
6 3 7 9 :SlaveOf1 2 7 .0.0.0.1 6 3 8 06 3 8 0将被删除:将更改:Slaveof1 2 7 .0.1 6 3 7 9 6 3 8 1 :Slaveof1 2 7 .0.1 6 3 8 0,因为Senerod 6 3 7 9 已关闭了Sentinel,尽管Sentinel使用了6 3 7 9 ,但NOT SALLEVE SLAVE SALLEVE SLAVE SERVICENT NOTS STARINEL使用了6 3 7 9 ,这是NOT SALLEVE。
重新启动6 3 7 9 服务,然后Sentinel将恢复并与主奴隶建立关系: