Simon最近为公司服务器操碎了心 , 先是mysqld进程占用CPU过高 , 导致服务器性能变低 ,网站打开太慢.通过增加max_connections及table_cache解决了问题 ,随后发现memcache的CPU占用一直在50%左右 , 这种情况可不正常.
分析应该是memcache的内存大小还是默认配置,已经满足不了当前的大数据量的需要了,大量的新缓存需要进入,同时大量的旧缓存又需要被淘汰出来,一进一出导致CPU占用过多.
进入注册表,找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
在ImagePath项的值为:“D:\memcached\memcached.exe” -d runservice
改成:“D:\memcached\memcached.exe” -d runservice -m 256
在值后面加上 -m 你想要分配的内存大小 -m 256就是内存256M
修改端口的话 加上 -p 12345 是端口号
修改完成后 进入服务(services.msc),找到memcached server 重启服务,看看你的memcache的CPU占用是不是下来了?
原文链接:memcache占用CPU过高的解决办法