免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 12952 | 回复: 25
打印 上一主题 下一主题

[Web] web服务器内存占用过大问题,急盼版主和高人给予帮助(我急昏了快) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-06 09:58 |只看该作者 |倒序浏览
12可用积分
我的服务器上运行了一个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

论坛徽章:
0
2 [报告]
发表于 2008-03-06 09:58 |只看该作者
内存都拿去做Cache和Buffer了吧,应该没什么问题的。
http://bbs.chinaunix.net/viewthread.php?tid=615686

论坛徽章:
0
3 [报告]
发表于 2008-03-06 09:59 |只看该作者

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/

论坛徽章:
0
4 [报告]
发表于 2008-03-06 09:59 |只看该作者
从TOP上看

cpu占用不大,而且每个httpd 也只有15M,mysql占用也不大320m左右,怎么有那么大内存被使用呢??释放不出来?

从vmstat 看,bi,bo长期不为0,说明内存的状态也不好。

真不知道怎么回事!

论坛徽章:
0
5 [报告]
发表于 2008-03-06 10:00 |只看该作者
我的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
[mysqld]
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 编辑 ]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
6 [报告]
发表于 2008-03-06 10:51 |只看该作者
这个是正常的。

如果想要提高效率,马上使用FreeBSD7 http://www.freebsd.org

论坛徽章:
0
7 [报告]
发表于 2008-03-06 10:56 |只看该作者
粗略算一下:153MB用于buffer,1.28GB用于cache,然后物理可用80MB,所以实际上你的系统总负载是2G-1.28-0.15-0.08,我觉得还好啦。比较正常。

论坛徽章:
0
8 [报告]
发表于 2008-03-06 10:56 |只看该作者
原帖由 swordfish.cn 于 2008-3-6 10:33 发表
内存都拿去做Cache和Buffer了吧,应该没什么问题的。
http://bbs.chinaunix.net/viewthread.php?tid=615686

谢谢!
确实,论坛现在运行的一切看似正常,但不知道再运行个几天如何。
但有一点,内存确实被占用了,因为我想在这种情况下打开xwindows根本已经不可能。。。。。

论坛徽章:
0
9 [报告]
发表于 2008-03-06 10:59 |只看该作者
原帖由 HonestQiao 于 2008-3-6 10:51 发表
这个是正常的。

如果想要提高效率,马上使用FreeBSD7 http://www.freebsd.org

关键是看很多文章说,FREEBSD对PHP和mysq支持不好啊!

[ 本帖最后由 luza 于 2008-3-6 11:04 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2008-03-06 11:03 |只看该作者
原帖由 jerrywjl 于 2008-3-6 10:56 发表
粗略算一下:153MB用于buffer,1.28GB用于cache,然后物理可用80MB,所以实际上你的系统总负载是2G-1.28-0.15-0.08,我觉得还好啦。比较正常。


但从VMSTAT的bi,bo来看,内存的性能并不好啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP