首先我的硬件配置:4核cpu 8G内存 centos6.3系统
安装的软件:一个mysql 一个openfire 一个apache 两个tomcat
出现的问题是 8G内存用到了95%以上
当时我以为是硬件真正的不够用了,但是我用 top 一看 发现 load average 这三个值都是 0.3左右 也就是 负载非常轻啊 ,为什么会出现这样的问题了,总结一下:只可能是程序本身的问题呢,要么程序出现死循环 要么程序的某个部分没有释放内存,然后,我就用 ps -auxf |more 命令 看看到底是那个应用出现 不释放内存的情况,一查发现是 抓取网页的程序出现了 死循环 导致该线程 一直咬着内存不放 ,然后 将这些线程 kill 掉,内存就恢复过来了。庆幸庆幸啊,找到原因了,要不然就得盲目的去加物理内存了。到时加了还不起作用,那就惨了。
写这个的目的,主要是为了警醒自己:遇到情况,要先查看原因,才处理,切忌头痛医头 脚痛医脚