小內存VPS的幾個優化措施

1 Mysql

Mysql是消耗內存的大戶,輕輕鬆鬆可以上100M的內存,讓小內存VPS十分汗顏,編輯mysql的配置文件

vim /etc/mysql/my.cnf

更改以下幾項配置:

[mysqld]
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
default-storage-engine=MyISAM

不要簡單地複製粘貼,逐項找到配置修改,如原配置沒有則手動添加。

另外,如果mysql的數據庫服務僅僅本機使用,則可以註釋掉skip-external-locking這一項配置改成skip-networking,增加兼容性和安全性,改成這樣:

# skip-external-locking
skip-networking

此外,還可以在[mysqld]中添加這麼一條:

skip-innodb

不過個要注意的是,如果數據庫已經有存在並使用的數據庫添加skip-innodb之後可能會報錯,要將數據庫的表重建一下才可以。

最後重啓mysql:

/etc/init.d/mysql restart

2 Stack Size

在/etc/security/limits.conf裡加入這樣一行:

www-data        hard    stack            256

同時在/etc/pam.d/common-session裡面加入:

session required    pam_limits.so

這樣可以極大降低nginx栈的大小,這樣修改可能Wordpress的郵件系統會出問題,可以適當調整256這個值的大小,比如到1024。

最後重啓下服務器即可。

本文參考了以下網頁:

[1] Dave. Reducing memory usage. https://forum.ramhost.us/bbs/viewtopic.php?id=195
[2] Ramnet. MySQL – Reducing Memory Usage. https://forum.ramhost.us/bbs/viewtopic.php?id=19