汉字输入进程chinput吃了一个G的内存
有个问题悬在心上;为什么我们的服务器在7.4工作6*24个小时之后就死了?休假后来之后,我看了一下日志,没有找到答案,可能不够仔细。之后,我继续连续运行服务器,进行观察。今天是第五天了,发现内存快基本用了,1G的物理内存可用的不足1M,用作cache的有110M。糟糕的是1G的swap居然也被用完了,只有不到1k可用!
我开发的系统就这么糟糕?
用ps aux查看一下系统进程,java也只用了58%呀。再看,还有谁在狂吞内存呢?原来chinput占了25%的内存。猜想chinput应该是汉字输入的进程,反正这个服务器用不上。如果不是图片上传的压缩功能要使用到一些库,我都不会开x-window。kill -9 1241,干掉了这个进程。再用free查看内存,我的天,物理内存立即释放了250M之多,而swap内存也居然释放了750M,合起来就是一个G呀。
上次7.4服务器歇菜,怀疑与它有关了。7.8服务器出问题,我推测是服务器连续运行10天之后,散热问题所致,因为高温下,那台普通的PC连续10天开着(7.8整个晚上不能够访问,但机器还开着,能够ping通),CPU也表现不错了。
另外,我们的数据库服务器(oracle 8i),已经连续运行20多天了,没有出过问题,那台机器散热性能要好于网站的Jboss服务器(p4 1.8G),多一个机箱风扇,并且cpu为 cy 1.7G,散热难度低些。

这个问题的发现,意味着,以后,我们的服务器运行会稳定一些,也更快一些。

服务器操作系统是TurboLinux Server 8.0,内核是 Linux kernel 2.6.8.

补记:

刚刚查明,7.8的停机事件是由于“Out of Mem"(内存用尽)造成的,错误出现时间:7.8 19:23,最后能够访问的时间是:7.8 19:51,第二天7.9 9:24服务器重启,问题解决,总共当机时间近14小时。
7.4的错误应该是同样的原因。在日志上查不到,是因为当天应我要求7.4 11:14重新启动服务器后,11:14之前的日志被覆盖小时了,而7.8因为通宵出现错误,反而错误记录能够在日志中保留下来。
错误的原因,7.4与chinput有一定关系,但6.29之后(就是我刚到陕西,休假的第二天),online模块问题使得服务器疯狂地报错,恶化了内存使用告急的问题。从访问日志看,一些小蜘蛛的疯狂访问,也是服务器出错的催化剂。
但现在查明的7.8内存耗尽导致的当机,应该与chinput没有关系,因为7.4重新启动服务器后,服务器就未进入x-window,而只是以console方式运行。

这说明,对jboss性能调整优化,包括系统开发的改进,适当限制cache的膨胀,都是以后应该进行的工作。

hofman   2005-07-22 11:17:08 评论:0   阅读:2528   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

2003-2007@copyright