wordpress博客因占用内存过大被暂时停止了半天!

已为老胡 2011-11-14 PM 1284℃ 0条

 今天上班小胡一直没有上网,也没有关注自己的博客,直到快下班的时候,给老婆打了个电话,才知道小胡博客打不开了,我赶紧找电脑看了下,原来是被暂停了,具体的原因一看,原来是占用服务器的内存太大,结果被禁了,因为快下班了,所以就直接回家了。

 到家之后,联系了空间支持的QQ,同样被告知暂停,小胡经过搜索,找到了几个能影响到占用内存过大的原因:

1、文章数量 (the number of posts and/or pages)
在基本相同的配置下,文章数量越多的 wordpress 耗用的内存量越大。

2、主题 (themes)
不同的主题/皮肤,对内存的影响是相当大的。一般来说,功能越多、定制化选项越多的主题(如 suffusion),耗用的内存越多。
3、小工具(widgets)
widgets越少的主题,耗用的内存越少。不显示侧边栏的主题,将耗用更少的内存。

4、插件(plugins)
WordPress 的优点是具有很多的插件来实现不同的功能。而对应的缺点就是:插件越多,耗用的系统资源就越多。

据说,有一部分插件,还是巨耗内存的,例如 Google Xml Siemaps 。不过,经过合理设置,还是可以减少内存使用量的。
5、Cache 插件与PHP 配置
根据 Dreamhost Wiki 的测试结果 (link),服务器的PHP 启用 FastCGI (简称 fcgi) 时比 不启用FasCGI (简称 nofcgi)更耗内存 (耗内存带来的效果就是PHP执行得更快)。此外,使用 cache 插件也能减少内存的耗用量。

Cache 的原理是把文章(post)和页面(page)的内容从 mysql 数据库提取出来,保存成文本文件,这样,就减少了数据库的查询(quiry)次数,减少了PHP的执行时间。

很多测试结果都表明,使用cache 能加快wordpress 的显示速度。

隆隆转载下别人的解决办法:

判断wordpress内存过小的方法:

很简单,查看空间日志里边如果有“PHP Fatal error:隆隆 Allowed memory size of XXXXX bytes exhausted (tried to allocate XXXXX bytes) ”这样的提示就对了。

解决方法也很简单:

一、如果你的空间支持自定义php.ini,可以通过修改php.ini实现

在public_html 目录创建文件 php.ini,添加以下代码:

memory_limit = 64M

然后在根目录下修改.htaccess文件,添加下面代码:

suPHP_ConfigPath /home/username/public_html/

二、通过修改wordpress文件实现:

1、修改WP配置文件

编辑wp-config.php这个文件,在里边加上一句:

define(‘WP_MEMORY_LIMIT’,’64M’);

上面64M这个数字可根据情况修改为更大数值,比如168M。

2、修改wp-includes/defaule-constants.php文件:

找到 // set memory limits

修改下面代码中高亮的部分

if ( !defined(‘WP_MEMORY_LIMIT’) ) {
if( is_multisite() ) {
define(‘WP_MEMORY_LIMIT’, ’64M’);
} else {
define(‘WP_MEMORY_LIMIT’, ’32M’);
}
}

推荐一款插件WP-Memory-Usage 

这个插件可以直观的反映主机的内存情况

非特殊说明,本博所有文章均为博主原创。

评论啦~