CentOS内存分配

CentOS内存分配

我在 1G 内存上运行 CentOS 的 VPS,但我发现内存已“满”,所以我额外安装了 1G。

这个 VPS 是我在一家托管公司租用的。那家公司为我完成了安装 VPS 的大部分配置。他们还安装了 DirectAdmin 并处理了所有域/DNS 问题。

我只安装了某些用户/FTP 帐户并上传了我的所有制作网站。该服务器托管:5 个小型静态 PHP 网站、2 个 WordPress 网站、1 个 Magento 网上商店、我自己的测试环境以及每个网站的所有电子邮件帐户。

我的目标是提高服务器性能。

我在互联网上查看了各种指南。我弄坏了很多东西,然后不得不修理它们,所以我边走边学。我发现我需要遵循一些正确的指南/教程,并且需要确保只遵循 CentOs 相关的内容。

ulimit -afree -m命令告诉以下内容:

[root@1332 etc]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 32365
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 32365
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@1332 etc]# free -m
             total       used       free     shared    buffers     cached
Mem:          2026        990       1036          0        129        620
-/+ buffers/cache:        240       1786
Swap:         2047          0       2047

所以我有一些额外的空闲内存

top - 14:35:36 up  4:15,  1 user,  load average: 0.57, 0.49, 0.46
Tasks: 169 total,   1 running, 168 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.0%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.1%hi,  0.0%si,  0.0%st
Mem:   2075000k total,  1016716k used,  1058284k free,   133924k buffers
Swap:  2097144k total,        0k used,  2097144k free,   637168k cached

我重新启动了服务器,这可能就是为什么一切看起来都很棒的原因。

我将my.cnf设置更改为以下内容:

[mysqld]
local-infile=0
skip-locking
query_cache_limit=2M
query_cache_size=64M
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=120
connect_timeout=10
thread_cache_size=128
key_buffer=384M
join_buffer=8M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
# Try number of CPU's*2 for thread_concurrency
thread_concurrency=6
myisam_sort_buffer_size=64M
server-id=1

[safe_mysqld]
err-log=/var/log/mysqld.log
open_files_limit=8192

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[mysqlhotcopy]
interactive-timeout

我注意到我这里没有任何innoDB设置。可能是因为它们没有安装或者因为 DirectAdmin 的存在或者因为我的托管服务商不使用它。

那么,一些问题:

  1. my.cnf 设置是否“正确”以获得最佳设置? (此时此刻)

  2. 还有其他我需要担心的设置吗?

  3. 我还需要对 Magento 进行任何性能调整吗? (我尝试安装 APC 或 Xcache,但这没有多大作用)

  4. 我安装了 REDIS,但因此我没有“感觉到”任何性能,这正常吗?

相关内容