memcache内存分配策略及内存计算

今天研究了一下memcache的内存分配策略,发现其和redis的确是有很大不同的,很多人知道memcache是提前预占用内存的,并且,其内存的占用是定长的,所以其内存的占用是可以被计算出来的。但是,其分配策略不是那么简单的,其合理的设置调优,也并不是那么容易的事情。下面就讲一下我的理解。以及-m参数认为无效的原因。 理解memcache的确必须先理解 slab、page、chunk 三个概念。page组成了slab,chunk组成了page,chunk是数据真实存储的位置,默认情况下,page的大小是1M,当然这个可以通过参数修改,chunk默认从96B开始,以1.25的倍数在slab区间增长。即,slab1 的chunk为96B,那slab2的所有chunk都是120B,那slab3的所有chunk就是150B,依次类推。因为page大小都是1m,那么相当于chunk的个数就确定了,如果slab1有一个page,那么就应该有10922个chunk,在内存未达到配置内存上限的时候,这个page是可以增加的,但是这里增加的单位就是page,也就是1M,比如已经存了10922个96B以下数据的key,再存一个新的,内存又没有达到配置上限,就会page增加,相应的也就再增加10922个chunk。下面具体代码看一下

shell监控load以及小数判断

简单的shell监控服务器负载的话,可用使用uptime命令,获取load,然后根据使用awk,和你预定义阈值对比 只不过shell小数做比较需要特殊处理一下

20

09-2016

linux使用文件作为swap分区简介

新增swap分区 根据Redhat公司的建议,swap分区最适合的大小是物理内存的1-2倍.不过Linux上有些软件对swap分区得需求较大, 例如要顺利执行Oracle数据库软件,swap分区至少需要400MB或者物理内存 2倍以上的空间.当然我们在安装Linux的时候,就能直接讲swap分区设置到足够的大小,但如果已经安装好Linux了,之后又想再安装类似 Oracle的软件,却发现swap分区空间不够,该如何处理?

mysql配置my.cnf包含innodb配置详解

mysql配置my.cnf包含innodb配置详解

9

09-2016

php等守护进程监控脚本

php等守护进程监控脚本

此脚本用户守护监控进程的执行情况,因为有的时候,我们用各类开发语言做的守护进程可能会因为一些特殊情况被退出,所以此脚本就是为了重启这些进程

window dns小工具及linux用户登录监控脚本

最近一直都比较忙,好久都没有写点东西了,但其实最近挺有一些技术和工作上的心得的。今天算是难得自己这块有空闲了。说两个这两天搞的一个小东西。一个人的价值有的时候就是体现在给别人解决问题,或者给别人提供方便,简化团队、他人的工作,提供效率。所以我一直其实是比较热心向别人推销一些我喜欢使用的一些工具、软件、还有技巧的。无论从上线修改脚本小工具,还是我们的邮件系统,还是我们现在使用的一些markdown、编辑器、数据库管理软件等等,我都是这样做的。今天介绍下一个window下的本地dns工具以及一个闲来无事写的shell脚本。

28

07-2015

Linux的chattr与lsattr命令

Linux的chattr与lsattr命令

这个命令对于做系统运维有很大帮助的,保证日志和配置文件的安全 这两个命令是用来查看和改变文件、目录属性的,与chmod这个命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。 chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files… 最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的 属性。

centos+nginx搭载markdown解析渲染

今天终于做了一直以来我特别想要实现的功能,就是在自己的服务器上支持markdown文档的渲染,昨天经过我的不懈努力终于实现了md文档的渲染,以后就可以写markdown的静态文档了,好了先来看一下效果吧; http://www.521php.com/md/

20

08-2014

MongoDB详细配置说明

MongoDB详细配置说明

启动MongoDB有2种方式,一是直接指定配置参数,二是指定配置文件。这里先介绍配置文件,启动方式如下:

18

08-2014

CentOS安装配置MongoDB及php-mongodb扩展

mogodb安装 1。下载安装包: 32位