ec2 内存使用情况

ec2 内存使用情况

我在 amazon ec2 免费套餐上建立了一个网站,它带有 613MB 内存,没有交换。我发现服务器几乎一直使用 100% 的内存。我的网站运行 wordpress,并启用了 wp 超级磁盘缓存。网站并不繁忙,每天大约 300ip。有人能告诉我这是正常的,还是出了什么问题?谢谢!

free -m
             total       used       free     shared    buffers     cached
Mem:           596        589          7          0          0         14
-/+ buffers/cache:        574         22
Swap:            0          0          0

ps aux | grep "apache"
apache   10120  0.2  5.1 287908 31732 ?        S    10:41   0:19 /usr/sbin/httpd
apache   10122  0.2  4.9 288448 30504 ?        S    10:41   0:22 /usr/sbin/httpd
apache   10123  0.2  4.8 288380 29676 ?        S    10:41   0:20 /usr/sbin/httpd
apache   10124  0.2  5.1 287616 31708 ?        S    10:41   0:21 /usr/sbin/httpd
apache   10125  0.2  4.6 287428 28704 ?        S    10:41   0:20 /usr/sbin/httpd
apache   10126  0.2  5.2 288376 32372 ?        S    10:41   0:22 /usr/sbin/httpd
apache   10127  0.2  4.6 284028 28164 ?        S    10:41   0:21 /usr/sbin/httpd
apache   10207  0.2  5.3 288452 32396 ?        S    10:49   0:19 /usr/sbin/httpd
apache   10224  0.2  4.3 284520 26496 ?        S    10:50   0:19 /usr/sbin/httpd
apache   10226  0.2  5.1 287872 31640 ?        S    10:50   0:20 /usr/sbin/httpd
apache   10376  0.2  5.0 288340 30856 ?        S    11:03   0:16 /usr/sbin/httpd
apache   10453  0.2  5.2 288416 32384 ?        S    11:10   0:16 /usr/sbin/httpd
apache   10455  0.1  5.2 288124 32252 ?        S    11:10   0:15 /usr/sbin/httpd
apache   10457  0.2  4.8 288380 29676 ?        S    11:10   0:15 /usr/sbin/httpd
apache   10459  0.1  5.2 288636 32224 ?        S    11:10   0:14 /usr/sbin/httpd
apache   12106  0.2  4.8 288384 29536 ?        S    13:07   0:01 /usr/sbin/httpd
apache   12107  0.2  4.8 288380 29480 ?        S    13:07   0:02 /usr/sbin/httpd
apache   12110  0.2  4.8 288380 29496 ?        S    13:07   0:01 /usr/sbin/httpd

答案1

创建文件系统交换可能不会有什么坏处。

#!/bin/bash -e

# Set default variable values
: ${SWAP_SIZE_MEGABYTES:=1024}
: ${SWAP_FILE_LOCATION:=/var/swap.space}

if (( $SWAP_SIZE_MEGABYTES <= 0 )); then
    echo 'No swap size provided, exiting.'
    exit 1
elif [ -e "$SWAP_FILE_LOCATION" ]; then
    echo "$SWAP_FILE_LOCATION" already exists,  skipping.  
fi

if ! swapon -s | grep -qF "$SWAP_FILE_LOCATION"; then
    echo Creating "$SWAP_FILE_LOCATION", "$SWAP_SIZE_MEGABYTES"MB.
    dd if=/dev/zero of="$SWAP_FILE_LOCATION" bs=1024 count=$(($SWAP_SIZE_MEGABYTES*1024))
    mkswap "$SWAP_FILE_LOCATION"    
    swapon "$SWAP_FILE_LOCATION"
    echo 'Swap status:'
    swapon -s
else
    echo Swap "$SWAP_FILE_LOCATION" file already on.
fi

echo 'Done.' 

来源

答案2

编辑 /etc/apache/apache.conf 文件并将 MaxClients 设置为 30。留意 apache 错误日志以查看是否用完了客户端,如果是,则将 MaxClients 增加 5。在您不再收到错误后,再添加 5 以提供一点余量。

您还可以检查 /etc/php5/apache/php.ini 中的 memory_limit 设置。对于 WordPress,您可能可以使用 64MB 的设置。如果您正在运行任何图形处理(例如缩略图生成器等),则可能需要将其增加到 96MB。

如果您也在该服务器上运行 MySQL,则应检查是否可以减少某些关键索引大小或其他内存占用设置。

相关内容