歡迎您光臨本站 註冊首頁

web伺服器內存佔用過大問題,急盼版主和高人給予幫助(我急昏了快)

我的伺服器上運行了一個PW論壇,環境為apache2.0+mysql4.0.26+php4.4.每天的流量大約10000IP左右。現在的問題是:我的2G內存長時間的被吃掉1.9G左右,但是論壇運行良好,速度也還可以,我不斷的調試了HTTPD.CONF和my.cnf,但沒有效果。我很擔心伺服器在大點訪問量會崩潰掉,請大家幫忙分析一下到底是什麼原因造成的?

我的一些環境
uname -a
Linux host.cn 2.6.18-53.el5 #1 SMP Mon Nov 12 02:22:48 EST 2007 i686 i686 i386 GNU/Linu

apachectl -v
Server version: Apache/2.0.63
Server built: Mar 1 2008 15:48:20

apachectl -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
《解決方案》

內存都拿去做Cache和Buffer了吧,應該沒什麼問題的。
http://bbs.chinaunix.net/viewthread.php?tid=615686
《解決方案》

vmstat 及 top

vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 112 131100 154640 1297984 0 0 19 20 154 95 6 1 92 1 0
1 1 112 134216 154660 1298220 0 0 55 84 1671 522 5 1 93 1 0
0 1 112 138692 154704 1298676 0 0 70 96 1638 460 5 1 94 1 0
0 1 112 145984 154740 1298940 0 0 96 86 1549 342 3 1 95 1 0
1 1 112 150972 154812 1300044 0 0 175 84 1677 534 19 1 79 1 0

top

top - 08:47:39 up 15:53, 1 user, load average: 0.76, 0.60, 0.43
Tasks: 292 total, 2 running, 289 sleeping, 0 stopped, 1 zombie
Cpu(s): 4.1% us, 0.4% sy, 0.0% ni, 94.5% id, 0.8% wa, 0.1% hi, 0.2% si, 0.0% st
Mem: 2075416k total, 1994420k used, 80996k free, 153424k buffers
Swap: 2096440k total, 112k used, 2096328k free, 1288700k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1938 www 15 0 15348 7644 2196 S 2 0.4 0:00.55 httpd
1497 www 15 0 15376 7624 2232 S 2 0.4 0:01.41 httpd
1336 www 15 0 15444 7692 2208 S 1 0.4 0:01.30 httpd
1789 www 18 0 15328 7656 2216 S 1 0.4 0:00.82 httpd
2239 www 15 0 14832 7044 2184 S 1 0.3 0:00.04 httpd
2244 www 15 0 14832 7048 2184 S 1 0.3 0:00.04 httpd
2251 www 15 0 15200 7308 2164 S 1 0.4 0:00.04 httpd
2072 www 16 0 15184 7452 2196 S 1 0.4 0:00.30 httpd
2237 www 15 0 15124 7352 2184 S 1 0.4 0:00.05 httpd
2240 www 16 0 14648 6712 2180 S 1 0.3 0:00.02 httpd
2246 www 17 0 14672 6688 2164 S 1 0.3 0:00.02 httpd
2249 www 17 0 14648 6712 2180 S 1 0.3 0:00.02 httpd
2261 mysql 15 0 319m 84m 1972 S 1 4.2 53:46.86 mysqld
2252 www 24 0 14716 6748 2124 R 0 0.3 0:00.01 httpd
2269 root 15 0 2304 1124 792 R 0 0.1 0:00.03 top
1 root 15 0 2044 632 544 S 0 0.0 0:01.10 init
2 root RT 0 0 0 0 S 0 0.0 0:00.36 migration/
《解決方案》

從TOP上看

cpu佔用不大,而且每個httpd 也只有15M,mysql佔用也不大320m左右,怎麼有那麼大內存被使用呢??釋放不出來?

從vmstat 看,bi,bo長期不為0,說明內存的狀態也不好。

真不知道怎麼回事!
《解決方案》

我的httpd.conf關鍵部分如下:

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 1024
MaxClients 768
MaxRequestsPerChild 1000
</IfModule>

my.cnf部分
# The MySQL server

port = 3306
socket = /tmp/mysql.sock
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 1M
net_buffer_length = 16K
myisam_sort_buffer_size = 1M
max_connections=120
#addnew config
wait_timeout =120
back_log=100
read_buffer_size = 1M
thread_cache=32
skip-innodb
skip-bdb
skip-name-resolve
join_buffer_size=512k
query_cache_size = 32M
interactive_timeout=120
long_query_time=10
query_cache_type= 1

mysql的查詢次數統計
統計 &oslash; 每小時 &oslash; 每分鐘 &oslash; 每秒
1,381 k 81.35 k 1.36 k 22.60

[ 本帖最後由 luza 於 2008-3-6 10:01 編輯 ]
《解決方案》

這個是正常的。

如果想要提高效率,馬上使用FreeBSD7 http://www.freebsd.org
《解決方案》

粗略算一下:153MB用於buffer,1.28GB用於cache,然後物理可用80MB,所以實際上你的系統總負載是2G-1.28-0.15-0.08,我覺得還好啦。比較正常。
《解決方案》

原帖由 swordfish.cn 於 2008-3-6 10:33 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
內存都拿去做Cache和Buffer了吧,應該沒什麼問題的。
http://bbs.chinaunix.net/viewthread.php?tid=615686
謝謝!
確實,論壇現在運行的一切看似正常,但不知道再運行個幾天如何。
但有一點,內存確實被佔用了,因為我想在這種情況下打開xwindows根本已經不可能。。。。。
《解決方案》

原帖由 HonestQiao 於 2008-3-6 10:51 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
這個是正常的。

如果想要提高效率,馬上使用FreeBSD7 http://www.freebsd.org
關鍵是看很多文章說,FREEBSD對PHP和mysq支持不好啊!

[ 本帖最後由 luza 於 2008-3-6 11:04 編輯 ]
《解決方案》

原帖由 jerrywjl 於 2008-3-6 10:56 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
粗略算一下:153MB用於buffer,1.28GB用於cache,然後物理可用80MB,所以實際上你的系統總負載是2G-1.28-0.15-0.08,我覺得還好啦。比較正常。

但從VMSTAT的bi,bo來看,內存的性能並不好啊

[火星人 ] web伺服器內存佔用過大問題,急盼版主和高人給予幫助(我急昏了快)已經有471次圍觀

http://coctec.com/docs/service/show-post-31741.html