2021-01-31

操作系统swap对redis的性能的影响以及解决方案

操作系统swap对redis的性能的影响以及解决方案

目录
  • 一、操作系统SWAP
  • 二、Redis为什么会触发swap
  • 三、查看Redis swap情况
  • 四、解决Redis swap

一、操作系统SWAP

swap是操作系统的行为,是指当内存不足时,操作系统将内存的数据拿出一部分放入磁盘,数据从内存和磁盘换入换出的机制,涉及到磁盘的IO。一旦发生swap,内存对应的进程的性能都会受到影响,因为硬盘的访问速度远远小于内存。

redis作为内存数据库,如果redis对应的内存发生了swap,那么redis的性能会受到极大的影响。

二、Redis为什么会触发swap

触发swap的核心原因是机器内存不足,对于redis来说有两个原因会触发swap:

  1. redis自身占用了大量内存,导致机器可用内存不足
  2. redis所在机器其他进程占用内存,导致内存不足。

三、查看Redis swap情况

查找redis对应的进程id

src/redis-cli info | grep process_id

进入redis对应的进程目录

 cd /proc/5910

查看swap

cat smaps | egrep '^(Swap|Size)'

上图中size代表redis实例占用的一块内存空间,都有一个对应的Swap,swap的大小代表该内存空间区域有多少已经被换到硬盘了,如果size和swap相等,则代表已经全部被换到了内存空间。

如果出现几百MB设置GB级别的swap时,说明redis的内存压力极大,会变慢,这个时候就需要解决这个问题。

四、解决Redis swap

最直接的办法就是增大redis实例所在机器的内存

集群部署的redis可以通过增加实例个数,减少每个实例所需要的内存。

另外一个办法就是把redis单独部署,不要和其他应用程序一起部署,这也是比较常规的实践,同时也避免了cpu的竞争。









原文转载:http://www.shaoqun.com/a/521233.html

跨境电商:https://www.ikjzd.com/

杨帆:https://www.ikjzd.com/w/1648

photobucket:https://www.ikjzd.com/w/132


操作系统swap对redis的性能的影响以及解决方案目录一、操作系统SWAP二、Redis为什么会触发swap三、查看Redisswap情况四、解决Redisswap一、操作系统SWAPswap是操作系统的行为,是指当内存不足时,操作系统将内存的数据拿出一部分放入磁盘,数据从内存和磁盘换入换出的机制,涉及到磁盘的IO。一旦发生swap,内存对应的进程的性能都会受到影响,因为硬盘的访问速度远远小于内
福茂:福茂
google趋势:google趋势
支付清算协会称,将充分发挥线上优势,提供远程服务:支付清算协会称,将充分发挥线上优势,提供远程服务
2019年中国对外贸易形势预测报告!:2019年中国对外贸易形势预测报告!
口述:老公爱爱时经常叫女老板的名:口述:老公爱爱时经常叫女老板的名

No comments:

Post a Comment