<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>《memcached 原理 内存分配 slab》的评论</title>
	<atom:link href="http://www.codytan.com/2009/09/16/memcached-%e5%8e%9f%e7%90%86/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codytan.com/2009/09/16/memcached-%e5%8e%9f%e7%90%86/</link>
	<description>Codytan's Blog</description>
	<pubDate>Mon, 06 Sep 2010 05:44:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>言情小说</title>
		<link>http://www.codytan.com/2009/09/16/memcached-%e5%8e%9f%e7%90%86/comment-page-1/#comment-158</link>
		<dc:creator>言情小说</dc:creator>
		<pubDate>Thu, 06 May 2010 10:58:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.codytan.com/?p=550#comment-158</guid>
		<description>有时候找点信息也真不容易，在这里找到了，谢谢。</description>
		<content:encoded><![CDATA[<p>有时候找点信息也真不容易，在这里找到了，谢谢。</p>
<p class="thdrpy">[<a href="javascript:void(0)" onclick="movecfm(event,158,1);">回复</a>]</p>]]></content:encoded>
	</item>
	<item>
		<title>codytan.openid.35.com</title>
		<link>http://www.codytan.com/2009/09/16/memcached-%e5%8e%9f%e7%90%86/comment-page-1/#comment-12</link>
		<dc:creator>codytan.openid.35.com</dc:creator>
		<pubDate>Thu, 14 Jan 2010 03:44:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.codytan.com/?p=550#comment-12</guid>
		<description>只是1G数据估计也不是想做分布式文件存储，你的数据如果不想丢请不要单纯的放到内存中，
可以考虑持久化话key-value存储，可以查看我关于tokyo cabinet tyrant 的几篇文章.</description>
		<content:encoded><![CDATA[<p>只是1G数据估计也不是想做分布式文件存储，你的数据如果不想丢请不要单纯的放到内存中，<br />
可以考虑持久化话key-value存储，可以查看我关于tokyo cabinet tyrant 的几篇文章.</p>
<p class="thdrpy">[<a href="javascript:void(0)" onclick="movecfm(event,12,1);">回复</a>]</p>]]></content:encoded>
	</item>
	<item>
		<title>zhangzf</title>
		<link>http://www.codytan.com/2009/09/16/memcached-%e5%8e%9f%e7%90%86/comment-page-1/#comment-11</link>
		<dc:creator>zhangzf</dc:creator>
		<pubDate>Thu, 14 Jan 2010 02:09:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.codytan.com/?p=550#comment-11</guid>
		<description>那么对于1G左右的数据，我不想放在数据库中，该怎么处理呀？</description>
		<content:encoded><![CDATA[<p>那么对于1G左右的数据，我不想放在数据库中，该怎么处理呀？</p>
<p class="thdrpy">[<a href="javascript:void(0)" onclick="movecfm(event,11,1);">回复</a>]</p>]]></content:encoded>
	</item>
	<item>
		<title>codytan.openid.35.com</title>
		<link>http://www.codytan.com/2009/09/16/memcached-%e5%8e%9f%e7%90%86/comment-page-1/#comment-10</link>
		<dc:creator>codytan.openid.35.com</dc:creator>
		<pubDate>Wed, 13 Jan 2010 11:19:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.codytan.com/?p=550#comment-10</guid>
		<description>memcached并不是用来做分布式文件存储的，只适合用来存储小的数据量，如cache，memcached超过1M的数据是无法存储进去的.</description>
		<content:encoded><![CDATA[<p>memcached并不是用来做分布式文件存储的，只适合用来存储小的数据量，如cache，memcached超过1M的数据是无法存储进去的.</p>
<p class="thdrpy">[<a href="javascript:void(0)" onclick="movecfm(event,10,1);">回复</a>]</p>]]></content:encoded>
	</item>
	<item>
		<title>zhangzf</title>
		<link>http://www.codytan.com/2009/09/16/memcached-%e5%8e%9f%e7%90%86/comment-page-1/#comment-9</link>
		<dc:creator>zhangzf</dc:creator>
		<pubDate>Wed, 13 Jan 2010 09:12:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.codytan.com/?p=550#comment-9</guid>
		<description>当我把一个大于5M的数据压缩以后放入memcached中就会set失败。该怎么解决呀？我用的是windows。</description>
		<content:encoded><![CDATA[<p>当我把一个大于5M的数据压缩以后放入memcached中就会set失败。该怎么解决呀？我用的是windows。</p>
<p class="thdrpy">[<a href="javascript:void(0)" onclick="movecfm(event,9,1);">回复</a>]</p>]]></content:encoded>
	</item>
	<item>
		<title>admin</title>
		<link>http://www.codytan.com/2009/09/16/memcached-%e5%8e%9f%e7%90%86/comment-page-1/#comment-7</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Tue, 13 Oct 2009 10:38:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.codytan.com/?p=550#comment-7</guid>
		<description>有个朋友email我，大概的情况是："配置格式 -f 1.1 -m 1024

 memcached启动后，在任务管理器中分配了97M的内存，数据在GET 、 SET 会出现丢失了，我通过记录日志发出丢失永远都是这个KEY的值，而在获取失败后我将数据加入缓存中是成功的，估计在下一个请求中将原来的数据踢掉了，造成这几个key一直在争资源。
事实上程序的内存并不满，而任务管理器中mem这个进程的内存不增加了。 我写一测试程序连续写入10000个50KB的不同的数据，内存明显在增加了，而且我也可以读取到，但我项目中这个一直无法出现丢失。".

这个问题可能是我在文章中描述的不够清楚吧，我再解释一下，其实这位朋友之所以会出现这种情况，是因为在之前的“连续写入10000个50KB”，可以试一下，先不要这个操作，我相信会看到不一样的结果了。原理是因为“当slab里面的空闲chunk用完了，memcached会有两种方式来处理新来的item，这个取决于是否已经到了memcached的limit memory了”，在任务管理器中看到的内存并不是真的memcached使用的内存，memcached是在一开始根据“-f 1.1 -m 1024”来分配，一开始分配直到slab中chunk为1M了，这里面的内存是分配了，但是没有使用上，如果这里面的slab不够用了，会从剩下的内存中在分配slab，但是原来部分的内存如果没有放数据在任务管理器中是看不出来的，建议使用memcache.php这个脚本来分析会更明白一些。</description>
		<content:encoded><![CDATA[<p>有个朋友email我，大概的情况是："配置格式 -f 1.1 -m 1024</p>
<p> memcached启动后，在任务管理器中分配了97M的内存，数据在GET 、 SET 会出现丢失了，我通过记录日志发出丢失永远都是这个KEY的值，而在获取失败后我将数据加入缓存中是成功的，估计在下一个请求中将原来的数据踢掉了，造成这几个key一直在争资源。<br />
事实上程序的内存并不满，而任务管理器中mem这个进程的内存不增加了。 我写一测试程序连续写入10000个50KB的不同的数据，内存明显在增加了，而且我也可以读取到，但我项目中这个一直无法出现丢失。".</p>
<p>这个问题可能是我在文章中描述的不够清楚吧，我再解释一下，其实这位朋友之所以会出现这种情况，是因为在之前的“连续写入10000个50KB”，可以试一下，先不要这个操作，我相信会看到不一样的结果了。原理是因为“当slab里面的空闲chunk用完了，memcached会有两种方式来处理新来的item，这个取决于是否已经到了memcached的limit memory了”，在任务管理器中看到的内存并不是真的memcached使用的内存，memcached是在一开始根据“-f 1.1 -m 1024”来分配，一开始分配直到slab中chunk为1M了，这里面的内存是分配了，但是没有使用上，如果这里面的slab不够用了，会从剩下的内存中在分配slab，但是原来部分的内存如果没有放数据在任务管理器中是看不出来的，建议使用memcache.php这个脚本来分析会更明白一些。</p>
<p class="thdrpy">[<a href="javascript:void(0)" onclick="movecfm(event,7,1);">回复</a>]</p>]]></content:encoded>
	</item>
</channel>
</rss>
