Chinaunix
标题:
CENTOS 6.3 x86_64系统,可以设置自动清理垃圾进程吗
[打印本页]
作者:
yanglei1979
时间:
2012-12-13 13:24
标题:
CENTOS 6.3 x86_64系统,可以设置自动清理垃圾进程吗
本帖最后由 yanglei1979 于 2012-12-13 13:25 编辑
CENTOS 6.3 x86_64系统,可以设置自动清理垃圾进程吗
首先,在WHM的这个操作里面:
Home »Server Status »Service Status
可以看到内存占用状态,也就是:
System information
Server load 2.78 (8 CPUs)
Memory Used 13.98% (545,512 of 3,902,016)
Swap Used 0% (0 of 2,097,144)
以上这些,其中 Memory Used 这个如果达到80%的话,基本网站就会打不开,需要重启。
现在我的网站,基本上开机6小时,Memory Used 就基本能达到50%,然后会慢慢的上升,到了85%后,服务器就挂掉了。
所以,现在只有不断的重启,才可以保证网站能正常运行。
后来我发现在WHM里有一个操作,可以KILL PROCESS,也就是清除一些没用进程,这就是:
Home » System Health » Process Manager
在这个页面有一个操作Kill all processes by user,然后我执行KILL操作以后,就会发现,上面的Memory Used 就会降低
只要这个降低,服务器就不会死机。
但我不能每天24小时一直打开WHM后台管理,不停的用手工来 KILL PROCESSES
所以,在CENTOS系统,或者是WHM管理里面,能不能有一个设置,就是可以定期的清理这些进程。
作者:
linuxforlive
时间:
2012-12-13 15:52
我一直很纳闷centos6.x 感觉更像太快了
作者:
q1208c
时间:
2012-12-13 18:13
这是典型的 memory leak. 没听说是用这办法解决问题的.
作者:
yanglei1979
时间:
2012-12-14 10:19
q1208c 发表于 2012-12-13 18:13
这是典型的 memory leak. 没听说是用这办法解决问题的.
多谢,能告诉下这种情况该如何解决吗? 昨天夜里服务器又挂机5个小时
因为我只有白天才手工KILL PROCESSES , 夜里就没清理,所以就服务器又内存占满了,又停止反应了。
作者:
kellyseeme123
时间:
2012-12-14 11:04
找找看看这个进程是什么服务,然后再去找相关的方法,这样去kill不是个根本的方法
作者:
yanglei1979
时间:
2012-12-14 17:10
主要是这几个进程:
domain1
domain2
domain3
mysql
names
varnish
其中前三个就是服务器上安装的三个网站,也就是CPANEL用户吧。
这个服务器上就运行三个站,一般流量非常大时,内存占用上去的非常快
白天一般访问量少,基本一天内没啥问题,夜晚访问量大的话,内存就会很快达到70%,
接着服务器随着内存占用的增高,会逐渐变慢,真到最后没反应。
如果在内存达到70%以上的话,我用手工去点击KILL PROCESSES按钮,把这几个进程杀一遍的话,内存会回到15%的状态,又能运行好几个小时,如果不手工点的话,会很快挂机。
所以我现在想在服务器里弄个软件,可以每隔20分钟KILL一下这几个固定的进程。
因为网站流量大,如果流量小,肯定没问题的,所以其它方面应该没问题,代码应该也没什么大问题。
所以我是希望能有一个软件,或者设置,或者脚本,来代替我去KILL PROCESSES。不要让我老守在电脑前面去点鼠标来操作了。
作者:
kkker
时间:
2012-12-14 17:14
做个计划任务不就行了?
作者:
yanglei1979
时间:
2012-12-14 17:19
kkker 发表于 2012-12-14 17:14
做个计划任务不就行了?
WHM里面能设置这个计划任务吗?
就是杀这几个固定进程的?
如果有,那就太好了,这几天天天点鼠标,手都点疼了,着键是还得夜里守着。反正我一睡觉服务器过一会也不行了,呵呵
这太难受了。
可以的话,真多谢这位哥们了
作者:
yanglei1979
时间:
2012-12-14 18:29
刚才又试了下,在76%的时候,我KILL domain1 程序,变为43%
然后再KILL domain2 进程,变为 20%
所以就KILL这两个网站进程就行了,但这并不会对网站运行造成影响,比重启好多了
网站还是立即可以打开的。
作者:
q1208c
时间:
2012-12-17 15:39
查代码吧, 这两个进程有 问题
作者:
yanglei1979
时间:
2012-12-17 17:32
回复
10#
q1208c
多谢这位哥们呀
等了几天了,才等个回复,呵
现在是网站白天流量小是没问题,一流量大就有问题了。
PHP代码实际上还是很多的,一个商城系统,用ZENCART改的,但是代码都我写的,感觉应该不会有特别严重的问题吧,而且我也一直在查。
就是流量大的时候,才会出现进程占用内存很多的情况
我觉得就算是再好的,再合理的代码,在流量大时同样会有这种情况的吧,实际上我现在也不知道怎样去找到底是哪个页面,什么代码原因
如果代码有什么错误,或者死循环,在流量小时同样会出问题的
我觉得这种情况应该就象我们的个人电脑,有时打开页面过多,就会很慢,按CTRL+ALT+DEL 结束几个进程,会好一些,应该就是类似这种情况
当然,这位高手要是能告诉我怎样来查出是哪里代码问题,那就太好了,我现在根本无从去查。
作者:
q1208c
时间:
2012-12-17 17:42
回复
11#
yanglei1979
在并发量的小的时候, 很多代码上的问题是不会被发现的. 原因很简单, 并发量小, 一些因为并发锁引起的问题不会发生. 当并发量大的问题, 锁就成了大问题. 包括文件, 数据库, 很多地方都会有锁. 有些是程序里主动加的, 有些是文件系统,数据库自己的机制加上的.
想查出问题在哪里, 我就真不知道怎么说了. 这完全取决于代码的实际情况.
我不太清楚你的网站是什么结构, 如果是 fcgi的话, 试着限制一下 单个 fcgi 程序的被调用次数看看.
作者:
zhengb302
时间:
2012-12-17 18:01
楼主就不知道写个脚本定时去kill那些有问题的进程?
还有,用命令行不是更方便么,为啥还要开桌面呢?
楼主这是把Linux当windows用了啊
作者:
yanglei1979
时间:
2012-12-18 11:14
回复
13#
zhengb302
在CPANEL计划任务里面,我加上了 killall -9 domain1 ,每小时执行一次
domain1: no process killed
邮箱里收到的是这个提示
是权限问题还是什么吗
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2