文档章节

Redis问题修复

shawnplaying
 shawnplaying
发布于 2017/04/05 10:37
字数 578
阅读 31
收藏 1
点赞 0
评论 0

Redis出现如下问题

MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

Redis日志报如下错误:

16149:M 05 Apr 09:26:19.054 * 1 changes in 3600 seconds. Saving...
16149:M 05 Apr 09:26:19.054 # Can't save in background: fork: Cannot allocate memory
16149:M 05 Apr 09:26:25.085 * 1 changes in 3600 seconds. Saving...
16149:M 05 Apr 09:26:25.085 # Can't save in background: fork: Cannot allocate memory
16149:M 05 Apr 09:26:31.018 * 1 changes in 3600 seconds. Saving...
16149:M 05 Apr 09:26:31.018 # Can't save in background: fork: Cannot allocate memory

参考这篇文章:

http://blog.csdn.net/zqz_zqz/article/details/53384854

这个问题在于swap太小,当时查看swap只有200MB。解决方式是从lv_root中减掉10GB,然后增加到lv_swap中去。

问题分析,grep -i commit /proc/meminfo中看到Committed_AS>CommitLimit,而

CommitLimit = 物理内存 * overcommit_ratio(/proc/sys/vm/overcmmit_ratio,默认50,即50%) + swap大小

所以这就意味着是swap空间不够,因此方案是增加swap。

问题结果过程中重要命令如下:

[root@hadoop1 ~]# lvs
  LV           VG       Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root      VolGroup -wi-ao----  99.31g                                             
  lv_swap      VolGroup -wi-ao---- 204.00m                                             
  apphome_lv   appvg    -wi-ao----  50.00g                                             
  filevault_lv appvg    -wi-ao----  40.00g                                             
[root@hadoop1 ~]# 
[root@hadoop1 ~]# lvresize -L-10G VolGroup/lv_root
  WARNING: Reducing active and open logical volume to 89.31 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_root? [y/n]: y
  Reducing logical volume lv_root to 89.31 GiB
  Logical volume lv_root successfully resized
[root@hadoop1 ~]# lvs
  LV           VG       Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root      VolGroup -wi-ao----  89.31g                                             
  lv_swap      VolGroup -wi-ao---- 204.00m                                             
  apphome_lv   appvg    -wi-ao----  50.00g                                             
  filevault_lv appvg    -wi-ao----  40.00g     


[root@hadoop1 ~]# lvresize -L+10G VolGroup/lv_swap
  Extending logical volume lv_swap to 10.20 GiB
  Logical volume lv_swap successfully resized
[root@hadoop1 ~]# 
[root@hadoop1 ~]# 
[root@hadoop1 ~]# lvs
  LV           VG       Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root      VolGroup -wi-ao---- 89.31g                                             
  lv_swap      VolGroup -wi-ao---- 10.20g                                             
  apphome_lv   appvg    -wi-ao---- 50.00g                                             
  filevault_lv appvg    -wi-ao---- 40.00g                                             
[root@hadoop1 ~]# 


[root@hadoop1 ~]# mkswap /dev/VolGroup/lv_swap
/dev/VolGroup/lv_swap: Device or resource busy
[root@hadoop1 ~]# 

[root@hadoop1 etc]# swapoff -v /dev/VolGroup/lv_swap
swapoff on /dev/VolGroup/lv_swap
[root@hadoop1 etc]# 

[root@hadoop1 etc]# mkswap /dev/VolGroup/lv_swap
mkswap: /dev/VolGroup/lv_swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 10694652 KiB
no label, UUID=1f4d708f-fb1b-420c-9514-e05cb41c42cd
[root@hadoop1 etc]# 

[root@hadoop1 etc]# swapon /dev/VolGroup/lv_swap
[root@hadoop1 etc]# free
             total       used       free     shared    buffers     cached
Mem:       8061748    7206232     855516          0     130248    2434436
-/+ buffers/cache:    4641548    3420200
Swap:     10694648          0   10694648
[root@hadoop1 etc]# 
[root@hadoop1 etc]# free -g
             total       used       free     shared    buffers     cached
Mem:             7          7          0          0          0          2
-/+ buffers/cache:          4          3
Swap:           10          0         10
[root@hadoop1 etc]# free
             total       used       free     shared    buffers     cached
Mem:       8061748    7895092     166656          0     124056    3017144
-/+ buffers/cache:    4753892    3307856
Swap:     10694648          0   10694648

 

© 著作权归作者所有

共有 人打赏支持
shawnplaying
粉丝 14
博文 126
码字总数 70642
作品 0
海淀
系统管理员
acl 3.1.3 版本发布,网络通信与服务器框架

acl 3.1.3 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个...

郑树新
2015/08/27
2.1K
6
acl 3.1.1 版本发布,跨平台网络通信与服务器框架

acl 3.1.1 版本发布了,acl 是 one advanced C/C++ library的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个acl项目主要包含三个函...

郑树新
2015/03/30
1K
0
Redis 曝新 BUG:内存超限后的死循环

Redis曝出了一个新bug,如果你设定了Redis的maxmemory,并且这个Redis有Slave,那么当你的maxmemory限制达到后,就会出现死循环。具体原因和流程如下: Redis 达到了配置中设定的maxmemory限...

红薯
2012/03/09
2.5K
1
acl 3.1.2 版本发布,网络通信与服务器编程框架

acl3.1.2 版本发布了,acl 是 one advanced C/C++ library的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个acl项目主要包含三个函数...

郑树新
2015/05/11
1K
6
acl_3.3.0 发布,跨平台网络通信与服务器框架

acl 3.3.0 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含四个...

郑树新
2017/04/22
866
3
Notadd Beta5 fix2 发布,基于 Laravel 5.5 的模块化开发框架

基于 Laravel 的模块化开发框架 Notad Beta5 fix2 添加功能测试代码 重构 JWT 验证机制 修正安装时对数据库及Redis连接、账号和密码的验证 扩展 MIME 类型,使返回的文件头信息正常 优化后台...

左华栋
2017/10/17
723
0
服务器全能环境 UPUPW ANK V1.1.2 发布

柚皮Windows服务器集成环境智控平台(以下简称UPUPW ANK),主要用于一键部署全能网站运行环境,适用服务器生产环境和本地开发环境。 UPUPW ANK控制面板集成网站运行环境所需功能,简单几步即...

UPUPW
2017/06/26
461
9
Redis-Admin v1.0 发布,Redis 管理平台

Redis Admin v1.0更新说明,此版本为Redis Admin第一个正式版本。 更新日志: 新增用户注册 新增配置管理 新增清空DB 新增修改TTL 权限管理修改为 user ---> redis --> [查看,编辑,删除] 修...

careyjike
05/16
0
0
基于 Laravel 的模块化开发框架 Notad Beta5 fix2

更新 添加单元测试代码 添加功能测试代码 重构 JWT 验证机制 修正安装时对数据库及Redis连接、账号和密码的验证 扩展 MIME 类型,使返回的文件头信息正常 优化后台导航栏加载机制 优化后台侧...

依剑听雨
2017/10/17
0
0
DoraCMS v2.0.4 发布,Node.js CMS 内容管理框架

可能是2017年内的最后一个版本,近期DoraCMS更新到 2.0.4,主要对样式做了变更,也修复了一些bug。具体如下 1、添加系统支持redis缓存,通过开关控制,并添加通过redis缓存数据中间件。要知道...

doramart
2017/12/20
819
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux服务器下的HTTP抓包分析

说到抓包分析,最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了,但是有时候由于客户端开发人员(可能是第三方)知识欠缺或者其它一些原因,无法顺利的在客户端进行抓包分析,...

mylxsw
8分钟前
0
0
mybatis3-javaapi

sqlSessionFactoryBuilder->sqlSessionFactory->sqlSession<-rowbound<-resultHandler myBatis uses a Java enumeration wrapper for transaction isolation levels, called TransactionIsol......

writeademo
11分钟前
0
0
Java NIO:浅析I/O模型

也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念...

yzbty23
12分钟前
0
0
了解iOS消息推送一文就够:史上最全iOS Push技术详解

本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表。 1、引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ、微信等IM界面处于前台时,聊天消息和指令都会...

JackJiang-
13分钟前
0
0
Mysql汉子转拼音

update t_app_city SET CITY_NAME_BEGIN = ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(CITY_NAME USING gbk),1)),16,10), 0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7, 0xBFA......

尘叙缘
15分钟前
0
0
大数据构建智慧城市“新引擎”,加速推进新旧动能转换

——“大数据与智慧城市”技术交流分享会——济南站召开 7月13日,“大数据携手智慧城市,助力山东新旧动能转换”技术交流分享会——济南站在山东信息通信技术研究院会议室成功举办,此次会议...

左手的倒影
17分钟前
2
0
tomcat 学习笔记之 Session管理

1、Catalina 通过一个 Session 管理器的组件来管理建立的Session 对象 该组件由 org.apache.catalina.Manager 接口表示 Session 管理器必须与一个 Context 关联 Session 管理器负责,创建、更...

职业搬砖20年
17分钟前
0
0
jquery获取input框的几种方式

//如何用jquery获取<input id="test" name="test" type="text"/>中输入的值?$(" #test ").val()$(" input[ name='test' ] ").val()$(" input[ type='text' ] ").val()$(" input[ ......

gulf
20分钟前
0
0
gradle的环境变量的配置

gradle的环境变量的配置 1.首先下载jdk,并且配置jdk的环境变量. 2.找到自己AS安装gradle的目录 我自己的目录为:F:\Android Studio3.1.3\gradle\gradle-4.4 创建环境变量:GRADLE_PATH: F:\A...

android-key
27分钟前
0
0
saltstack配置apache

1.相关配置 #vim /etc/salt/master //打开如下内容的注释 file_roots: base: - /srv/salt #mkdir /srv/salt #vim /srv/salt/top.sls base: 'slaver.test.com': - apache 注意:若换成 '*',则......

硅谷课堂
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部