Chinaunix

标题: 标题: 本人有一台服务器,经常出现内存很快被吃光最后当机的情况 [打印本页]

作者: jatic    时间: 2009-04-17 22:47
标题: 标题: 本人有一台服务器,经常出现内存很快被吃光最后当机的情况
机器硬件:
Intel VSA 5000
Xeon 5110 1.6G 双核
2G 内存 160G 硬盘

系统及软件:
RH as 4 update 2
PHP + apche + vsftpd
mysql 数据库非本机


服务器访问量不高,一天几千IP吧

以前没什么事,最近经常出现内存很快给吃光,最后当机
我封了一些IP,有时会正常,这里资源很正常

一旦了现问题,几分钟就可以让机器当掉

现在主要是用 tcpdump 来分析,把过多出现的IP封了
但我查询 apache 日志发现,这些IP访问的内容也确实存在

哪位给点建议,怎么去解决?
作者: kns1024wh    时间: 2009-04-17 22:56
标题: 回复 #1 jatic 的帖子
top
ps aux 分析具体的进程的占有
作者: marsaber    时间: 2009-04-18 12:33
如果怀疑内存,那么做一个计划任务,每隔5分钟将当前时间、top的结果、free的结果重定向到一个文件。
然后参考日志,将当机那个时间前1个小时的free结果贴出来瞅瞅。

没有搞过专门的web服务器,不知道2G内存是否满足日访问几千IP的需求。
作者: woainibapo    时间: 2009-04-18 14:10
应该是硅胶干了,或是主板有问题,你进bios看看cpu温度一般不会超50度.
作者: marsaber    时间: 2009-04-18 18:33
标题: 回复 #4 woainibapo 的帖子
如果CPU温度过高的话,服务器表现的症状应该是重启(跟板子有直接关系),而不是宕机。
作者: jatic    时间: 2009-04-18 18:34
原帖由 woainibapo 于 2009-4-18 14:10 发表
应该是硅胶干了,或是主板有问题,你进bios看看cpu温度一般不会超50度.


吃内存与温度有关系?
服务器在比较远的地方
作者: marsaber    时间: 2009-04-18 18:36
标题: 回复 #6 jatic 的帖子
你说的吃内存不是很明确,因为你没有给出详细的内存使用情况。
所以建议你做计划任务,使用free和top将CPU、内存、SWAP使用情况每隔几分钟记录下来,然后再分析。
你一句“内存很快给吃光”说明不了什么。
作者: jatic    时间: 2009-04-18 18:36
原帖由 marsaber 于 2009-4-18 12:33 发表
如果怀疑内存,那么做一个计划任务,每隔5分钟将当前时间、top的结果、free的结果重定向到一个文件。
然后参考日志,将当机那个时间前1个小时的free结果贴出来瞅瞅。

没有搞过专门的web服务器,不知道2G内存 ...



按正常来说,这样硬件,支持这样的流量是完全没有问题的

以前没这情况

平时没问题时很正常,但有问题时,几分钟内就可以当机

我也怀疑有人恶意,或者是攻击
作者: jatic    时间: 2009-04-18 18:38
原帖由 kns1024wh 于 2009-4-17 22:56 发表
top
ps aux 分析具体的进程的占有



发现点问题, ps aux 看到很多 apache 进程,并且占内存都不少
按现在的流量,不应该有这么多 apache 进程的


apache    1132  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1133  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1134  2.3  0.8 125076 18460 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1135  0.1  0.7 122328 15712 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1136  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1137  2.9  2.7 162436 55744 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1138  0.0  0.7 122412 15580 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1139  0.0  0.6 120724 13476 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1140  0.0  0.6 120856 13840 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1141  0.4  0.8 123136 16640 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1142  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1143  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1144  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1145  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1146  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1147  0.0  0.6 120856 13836 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1148  2.5  0.8 125076 18460 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1149  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1150  2.5  0.8 125060 18444 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1151  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1152  0.2  0.8 123720 17208 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1153  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1154  2.7  1.0 128700 21996 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1155  0.0  0.6 120856 13848 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1156  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1157  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1158  0.0  0.7 121728 15068 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1159  0.0  0.7 121840 15132 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1160  1.3  1.0 128412 21852 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1161  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1162  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1163  0.0  0.7 121840 15156 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1164  0.1  0.7 122404 15828 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1165  0.9  1.0 128208 21584 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1166  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1167  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1168  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1169  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1170  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1171  0.0  0.6 120856 13836 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1172  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1173  0.0  0.6 120724 13472 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1174  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1175  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1176  3.2  0.8 125076 18460 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1177  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1178  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1179  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
apache    1180  0.0  0.6 120856 13556 ?      S    18:38   0:00 /usr/sbin/httpd
作者: jerrywjl    时间: 2009-04-18 19:03
能否结合lsof看一下,这些进程在访问哪些文件?
作者: jatic    时间: 2009-04-18 19:50
原帖由 jerrywjl 于 2009-4-18 19:03 发表
能否结合lsof看一下,这些进程在访问哪些文件?


谢谢!
我一直想找这样的命令,呵呵
ps -aux | lsof
在看

这个有些看不大明白,还有没有能直接看到,当前apache 进程访问的是哪一个页面

[ 本帖最后由 jatic 于 2009-4-18 19:59 编辑 ]
作者: llzqq    时间: 2009-04-19 09:54
1.有没有配置SWAP,配置了多大。当RAM占光时,SWAP也占完了吗?
2.要是上面都是肯定的,就要检查运行的程序是否有内存泄漏的问题。
作者: jatic    时间: 2009-04-19 20:49
原帖由 llzqq 于 2009-4-19 09:54 发表
1.有没有配置SWAP,配置了多大。当RAM占光时,SWAP也占完了吗?
2.要是上面都是肯定的,就要检查运行的程序是否有内存泄漏的问题。



Mem:   2054108k total,   499116k used,  1554992k free,    61828k buffers
Swap:  5727132k total,     9292k used,  5717840k free,   139140k cached

从这里看是正常的, 就算 只有 10K free , 也有 2 G 的 used


程序泄漏问题?
这很奇怪,本来应该流量大时,不出问题时,内存很正常
但出现问题时,内存很快就没有,不用5分钟就当机了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2