redis进程占用CPU很高-达到100

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenggong2dm/article/details/78317806

问题说明:

    监控发现,redis进程占用CPU很高-达到100%。并且会有2个redis进程。如下图:



    分析了一下,因为redis在持久化保存的时候,会fork出一个进程来。仔细观察进程号PID,会发现,占用CPU很高的那个进程,不是redis的主进程。而是fork出来的那个。这个fork出来的进程,由于任务就是持久化,所以它的工作是:把内存中的数据(此时内存数据,约2.18G),拷贝出来到新的进程中,然后进行压缩,保存到硬盘上(硬盘数据大约是700M)。在压缩的过程中,是要用CPU的。


解决办法:

    个人觉得,如果主进程CPU占用不高,并且没有服务延迟,那不管用这个fork进程CPU跑的有多高。如果十分在意,那可以考虑,更改redis配置,不压缩数据保存。






猜你喜欢

转载自blog.csdn.net/chenggong2dm/article/details/78317806