八月
memcached内存释放问题
Posted by 请叫我可爱熊 at 10:54 下午. Placed in 技术杂文 category
今天观察系统memcached内存使用情况时突然发现从2010年1月19日开始,memcached内存使用量呈不断上升趋势,短短的几天由原来的几M长到了80M,memcached开的最大内存为128M,照这个速度,春节期间肯定就满了,为什么呢?
查看1月19日的升级记录,发现当天的确对系统进行了升级,主要内容是将session由数据库管理改为由memcached管理,但是程序中设置session两小时不活动即自动失效,为什么内存没有释放的迹象呢?在网上查找了一些资料发现,原来memcached缓存定时失效以及采用flush清空所有缓存时,memcached是不释放已占用内存的,仅仅是将这些缓存的内容标识为无效,当缓存满了(对于我们的系统说也就是缓存达到128M)后再有新信息放入缓存时,memcached会自动将无效的信息清理掉,周而复始。如果需要手动清理内存,只能使用delete。终于松了口气,系统没啥问题,我可以安心过年了。 Read More…