阿里云ECS 小内存优化

原文http://blog.foreverlove.us/2916

1、降低数据库 InnoDB 引擎的缓冲区大小。

在 /etc/my.cnf 的 mysqld 下添加下面一句:

innodb_buffer_pool_size = 64M

2、添加 swap 分区。说明:WordPress 默认使用 InnoDB 数据库引擎;innodb_buffer_pool_size 设置的是缓冲区的大小,默认值为 128M,鉴于个人博客访问量不会太大,因此适当降低缓冲区的大小以减轻内存压力。

在 Shell 中逐条执行下列语句:
dd if=/dev/zero of=/swapfile bs=1M count=1024

启用swap分区

mkswap /swapfile

激活分区

swapon /swapfile
将下面一行添加到/etc/fstab :说明:创建一个有 1024 个块的区,每块 1M,总的来说就是创建一个 1024M 的区;接下来将该区设为 swap 分区;再接着启用 swap 分区。

vi /etc/fstab
/swapfile swap swap defaults 0 0

保护swap分区文件

chown root:root /swapfile                      ——修改拥有者
chmod 0600 /swapfile                           ——修改权限

3、最后重启 MySQL 使操作生效。 说明:服务器启动时自动挂载刚刚创建的 swap 分区。

4、为了节约内存,nginx 也做相关配置:一个 CPU 进程,256 个线程即可。

/usr/local/nginx/conf/nginx.conf
worker_processes 1;
worker_connections 256;

5、避免双写入缓冲

/etc/my.cnf
innodb_flush_method=O_DIRECT