文档章节

Redis问题修复

shawnplaying
 shawnplaying
发布于 2017/04/05 10:37
字数 578
阅读 41
收藏 1

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
博文 128
码字总数 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
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.1.1 版本发布,跨平台网络通信与服务器框架

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

郑树新
2015/03/30
1K
0
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

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
40分钟前
1
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
2
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
1
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
1
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部