linux下释放内存的方法

VPS中搭建的WEB服务器,运行的时间长了,内存的使用就占用越来越高,对于小内存的VPS可能就直接使用了SWAP分区,从而影响到了系统应用程序的性能。下面是一个非常简单的清理linux内存的脚本,只要放入crontab计划任务里面定时执行就可以定期清理你的Linux服务器内存了。

#!/bin/bash
#Data is written to the disk cache
sync
#Clean Page Cache
echo 1 > /proc/sys/vm/drop_caches
sync
#Clean All Cache
echo 3 > /proc/sys/vm/drop_caches

其中/proc/sys/vm/drop_caches中的值有4个,分别为0-3:

0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存

编写脚本并赋予脚本可执行权限放入crontab里面定期执行:

clean your linux server memory cachetest clean your linux server memory cache

使用腾讯云到现在已经快两个月,如今,此Linux Web服务器上的环境瓶颈大概就在MariaDB数据库中。其他性能都优化到差不多了。

生活体感

最近活得不够潇洒。各种压力,因为工作;因为家庭;还因为个人的原因,多多少少各方面的因素都有。下面特来勉励勉励自己。

工作上,急不来。不赚钱赚阅历,这个无可厚非。但要做好一份工作,时时刻刻都必须努力,必须坚持。

如果你觉得食欲不振,很大程度上是因为你工作/生活得不够努力;

如果你睡眠不好,很大程度上是因为你工作/生活得不够努力;

如果你觉得很委屈,很大程度上也是因为你工作/生活得不够努力;

上面种种,恶性循环是存在的,但同时良性循环它一直没离开过你,一直在等待你的所有言行作出的答复。

都说人生苦短,就不能活得再精彩些么?来两张张激情励志的图片:

inspirational one inspirationaltwo

PHP5.5.0以后的版本使用自带Opcache加速PHP

使用腾讯云服务器已经有一段时间了。购买的是腾讯云服务器系统是CentOS6.3版本的Linux发行版。前段时间还一直折腾这HHVM—->来自Facebook开源开发的PHP虚拟机。可惜的是一直没有个结果出来,如今,看来也不用去折腾它了。今天在PHP服务器上加载了Opcache加速模块。感觉良好。经过站长综合SEO查询可以检测出现下的响应时间大大提升了。从之前的400多ms到现在的180多ms左右。

小站程序直接使用Nginx是没有错的,Apache消耗内存太大了,根本不够折腾滴。对于Nginx的fastcgi_cache一直没有解决,不好使。动态页面还是不要缓存来得实在。下面来说下在PHP5.5.0以后版本的PHP启用Opcache加速。

PHP5.5.0以后已经将Opcache集成到源码包里面了。对了,忘记说Opcache是什么来着了。简单说吧,Opcache是PHP的加速器中的一种,由之前的 Zend Optimizer 改名而来,类似国人开发的Xcache差不多,都是讲PHP编译过的结果暂时缓存在内存中以便下次出现同样的请求不重新作PHP编译直接返回结果。

PHP5.5.0以后版本自带Opcache加速器,但默认情况下木有启用。所以编译的使用我们想要启用该PHP加速器就应该添加参数 : –enable-opcache 来制定。对于已经编译安装了PHP5.5.0以上版本但当初又没有启用该加速器的用户可以像PHP添加模块一样编译添加。添加已经编译安装好的PHP模块可参照 这里 。唯一不同的就是opcache的包目录已经自带和在PHP.INI下的配置参数不一样。如下图操作:add opcache mod for your php5

然后再php.ini配置里面添加对应的opcache配置即可:

[opcache]
zend_extension = /data/app/php5/lib/php/extensions/no-debug-zts-20121212/opcache.so
opcache.enable=1
opcache.memory_consumption = 64
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.enable_cli = 1

最后重启你的php-fpm 程序即可。命中率很高滴,很靠谱的:opcache cache hitstest for enable opcache speed

之前使用xcache缓存的测试图:test my site speed only 421ms

世界杯开幕来临了

作为一个伪球迷。。。还是特别伪的那种。人家说,真球迷看足球,伪球迷看帅哥。可能是真的。下面来自网摘。果断直播观看,带宽是有的,刚刚好上晚班。啊哈?巴西 VS 克罗地亚 你看哪个好?我已经投票了。看好巴西。

下面是百度针对2014巴西世界杯发起的活动>>>>猛点击进入活动吧 !  活动规则很简单,通过积分购买哪个队伍胜出,有赔率,直到世界杯结束,高积分就有机会获得百度本次活动的奖品。

the football guy

已经使用memcache加速wordpress

今晚整出了个用memcache加速wordpress网站来,看右下角吧,回顶部已经有了,用的是百度置顶。很久没打开网站统计了。换了域名就要换统计代码。结果在里面发现了多了个应用中心,包含有:置顶工具/百度推荐/专题推送等等应用,话说就是多加载了一个js可以实现了。挺不错的感觉。
memcached的安装在CentOS6.3下直接用yum安装还是挺简单的,能用就行,重要的是好用。安装了memcached之后还要安装memcache的PHP扩展。这里就说下memcache安装php扩展好了。

安装memcached:yum -y install memcached
安装完成之后直接用 service memcached start 启动即可
检查启动与否可以使用:lsof -n | grep memcached

安装php扩展:

cd /usr/local/src
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxf memcache-2.2.7.tgz
cd memcache-2.2.7
/data/app/php5/bin/phpize
make && make install
正常安装完成后会生成扩展目录的,eg:
/data/app/php5/lib/php/extensions/no-debug-zts-20121212/ 的一串目录路径
添加php加载memcache的库文件:
vi /etc/php.ini
my wordpress site enabled memcache然后重启php-fpm即可加载。检查是否加载可以在phpinfo信息页里搜索是否有memcache扩展。

wordpress添加memcache缓存插件:

下载 WordPress Memcached 缓存插件:http://wordpress.org/extend/plugins/memcached/ ;
WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,
直接调用它作为 WordPress 对象缓存机制。(Note:该文件放在目录 wp-content下,不是插件目录)

最后经过测试,速度确实提升了点,经过站长工具的SEO综合查询需要加载 421ms。之前一直都是在500ms-700ms之间的。比起使用wp-super-cache还是相差很远,但我不喜欢使用它来缓存。
test my site speed only 421ms

CentOS6.3下优化Nginx服务器

Nginx是目前比较主流的WEB服务器,也是比较主流而且强大的反向代理WEB服务器。自从搬家至腾讯云服务器上来后就一直使用Nginx作为本站点的WEB服务器。下面就谈谈Nginx优化的一些东东:

编译安装Nginx具体过程这里就不说了哈,下面是我的Nginx安装目录tree:

[root@VM_40_253_centos nginx]# tree ./
./
├── client_body_temp
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── optimization.conf
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp
├── html
│   ├── 50x.html
│   ├── index.html
│   ├── tz.php
│   └── tz.zip
├── logs
│   ├── access_2014-06-09.log
│   ├── access.log
│   ├── error.log
│   ├── newaccess.log
│   └── nginx.pid
├── proxy_temp
├── sbin
│   ├── cut-log.sh
│   └── nginx
├── scgi_temp
├── uwsgi_temp
└── vhosts
 ├── demo.iloxp.com.conf
 ├── iloxp.conf
 ├── kutea.conf
 ├── kutea.conf.bak
 └── kutea.conf.old

优化要点:

1.当然是禁用泛域名解析了,启用默认主机—->指向403.启用虚拟主机—–>指向自己的网站;

2.启用gzip压缩,以减少服务器带宽的输出和提高访问速度;

3.启用缓存;

4.访问控制,关闭不必要的访问日志记录,例如来自 favicon.ico 的请求;

5.日志管理,当然就是切割了,分日期记录访问日志,便于我们分析;

6.优化php-fpm以及nginx的默认连接数量,减少502错误的出现,同时可以定期reload your php-fpm process。

OK ,就先写这么多吧。具体优化过程这里就不说了。网上都是大把的了,对了,谷歌的gperftools对独立nginx服务器,小内存,还是没什么用处一样,可以有也可以木有哈。

Abnormal

Windows8.1+Linux Mint 17双系统安装

愛折腾吧,晚上在Windows8.1+Ubuntu 14.04的基础上重新安装为Windows8.1+Linux Mint 17双系统,之前一直没有使用过Linux Mint来自Ubuntu以及Debian的结合版。本次采用U盘安装的方法,利用UNetbootin这个工具制作linux的U盘启动。这个工具很简单,下载直接管理员运行程序设置iso镜像源以及要用哪个U盘来制作。然后写入即可。
重启系统,设置从U盘启动进入LInux Mint 17的体验或者安装。安装的过程也很简单友好,因为是Ubuntu的衍生版本,安装选项完全和Ubuntu安装过程一样,这里再次提醒的是。在安装Windows和Linux双系统的时候,如果Linux不一定要将引导写入硬盘MGR(主引导记录)才能启动的话,最好将引导安装在独立的自定义的分区。下面是我的双系统在Linux Mint下的分区一览表:
show my windows and linux mint disk partition
从我上面的分区表可以看出,/dev/sda1 以及 /dev/sda5 都是写有引导的磁盘分区。其中,/dev/sda1 表格中看到 (启动 那列带有 ‘*’,表示硬盘的主引导记录就写在这个分区里面)我的LInux Mint 17的引导是写在分区 /dev/sda5 里面的 /boot 分区的。
my linux mint system再次说一下关于Windows8.1引导其他Linux系统,利用windows8.1自带的bcdedit引导编辑工具。具体的可以看我的另一篇博文
其中,本人测试过的Linux版本有:Ubuntu/Linux Deepin/Linux Mint/ 都是可以的。
dd if=/dev/sda5 of=/mnt/Linux_Mint_17 bs=512 count=1 (备份系统分区/dev/sda5 的前512个字节,这里给windows写引导用)

windows8.1写完引导后的系统引导界面:

system boot Interface
Linux Mint安装好后需要做的一些事情:
Linux Mint安装后默认没有安装拼音输入法,即使你安装的是简体中文版本的也没有。所以我们要自行安装:
sudo apt-get install ibus  ibus-pinyin (安装完成后,Linux Mint 17重启再次进入就可以使用拼音输入法了)
安装谷歌浏览器:
一直打开谷歌浏览器官网,按照提示安装即可。
还有一些个人习惯上的问题就自己修改了。主题呀,背景什么的。

Google全面被墙,你们使用GoAgent还顺利吗

GWF已经全面屏蔽Google搜索了,同时Gmail也不能正常使用了。有没有感觉自己的互联网生活少了Google好像失去了一大部分一样呢?表示我很多ID都是使用Gmail注册的,而如今Gmail已经不能正常使用了,真是可恶啊。国民在国内互联网都不自由哈,好了,多关于政策话题不能多说。

我想问下,你们使用的GoAgent还顺利吗?其实GoAgent在Google被全面屏蔽后也是有更新的。下面会再说说GoAgent使用情况,同时征求各位更好的翻墙方案。下载更新版本的GoAgent倒是还可以使用Gmail邮箱,已经Google点HK的搜索服务。有网友也通过修改hosts文件来解决。但,我试过了,不能很好的解决,而且用起来相对GoAgent更麻烦些。

google lock

好不容易,打开GoAgent代码网站。看到版本有更新过就立马下载来试试。结果真的可以继续使用Google点hk搜索服务已经Gmail了。不过就是效果相对于以往差很多。更新过的GoAgent大家可以不用再code.google.com里面下载。代码已经放在github.com上面了。这里下载下更新版本:https://nodeload.github.com/goagent/goagent/legacy.zip/3.0

下载之后重新配置你的Proxy.ini中的gae appid即可。同时修改hosts文件,添加:
203.208.46.200 www.google.com.hk (可以更快速度地用于Chrome右击通过Google进行搜索)

CentOS6.3编译安装redis

先不说别的吧,最近你们使用GoAgent翻墙还顺利吗?

Redis是一个key-value存储系统。Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。和Memcached类似,但和Memcached最大的区别就是一个只是暂时缓存,一个是可以永久缓存,至少我的理解是这样的哈。我也刚刚开始接触,希望各位友友指点。

下面就来安装Redis试试看,

环境:CentOS release 6.3 (Final)+Redis-2.8.10

cd /usr/local/src
wget http://download.redis.io/releases/redis-2.8.10.tar.gz
tar zxf redis-2.8.10.tar.gz
cd redis-2.8.10
make && make install

下面是编译时候默认 make 的部分配置情况:

make your redis sources package configuration

复制配置文件到 /etc 目录下,编辑配置文件 vi /etc/redis.conf 修改以下配置内容

修改 daemonize no为 daemonize yes  ------->以守护进程运行
修改 dir ./ 为 dir /usr/local   ------->此为Redis编译安装时候的默认目录
修改 appendonly no 为 appendonly yes  --------->是否在每次更新操作后进行日志记录

启动redis: redis-server /etc/redis.conf 即可。

查看redis运行状况: lsof -n | grep redis 或者 lsof -i:6379

如下图等等方式都是可以查看redis运行状况的。

show redis status

到此,Redis编译安装已经完成。

下面简单测试Redis服务器运行和关闭已经自动启动:

redis-cli set fucking you

redis-cli get fucking

test the redis service

禁止WordPress加载Google字体提高加载速度

换了新主题后,老是感到网站打开速度很慢,但不是服务器都问题。这是一个国外都主题。经过自己的一般汉化。但是,没有修改过主题就要加载谷歌字体来了来。最后只能在终端中查找相关fonts设置。

grep -v fonts.goog* ./  (—– ‘./’ 主题所在目录)

从Wordpress3.8开始,wordpress后台引入了Google的第三方字体Open Sans。每次打开wordpress管理后台都会自动加载Google Open Sans 字体。

只要在主题的functions.php中添加下面代码就可以了。

// Remove Open Sans that WP adds from frontend
    if (!function_exists('remove_wp_open_sans')) :
    function remove_wp_open_sans() {
    wp_deregister_style( 'open-sans' );
    wp_register_style( 'open-sans', false );
    }
// 前台删除Google字体CSS
    add_action('wp_enqueue_scripts', 'remove_wp_open_sans');
// 后台删除Google字体CSS
    add_action('admin_enqueue_scripts', 'remove_wp_open_sans');
  endif;

最后晒啊哈新的主题哈:

my new wordpress theme0 my new wordpress theme1