我在我的memcachedconfiguration中将Item Size设置为128M,将Maximum Memory设置为1024M。 但是当我运行这个命令:
ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5
我明白了
71.7 0.0 3072592 4537 /usr/bin/memcached -vv -m 1024 -p 11211 -u memcache -l 0.0.0.0 -I 128M
其中指出,memcached正在采取3GB的内存。 现在我明白当我们设置Item Size大于1MB时,memcached的内存消耗增加。 但是当你将最大内存设置为1GB时,3GB似乎相当多。
总是这样或者我做错了什么? 有没有减less这种内存消耗?
注意:虽然目前我正在存储在memcached中的密钥或稍大于1MB但这些密钥的大小不断增加,为了将来安全,我已经将项目大小设置为最大可能!
vsize并不意味着进程占用了多less内存。 这个数字是由rss给出的。
驻留集大小( rss )表示进程实际使用的内存量。 而虚拟机的总大小,这里是vsize ,表示总共地址空间的使用量 。 程序在理论上可以最终使用那么多的RAM,但是大部分的地址空间被分配的内存使用,但没有被使用,没有从磁盘加载的库的一部分,因为它们不需要,等等。
在实践中,除非在32位系统上,否则任何进程的最大可能地址空间都是4GiB(即使进程使用的RAM数量lessvsize ,您也可以忽略vsize 。