超算节点内存泄漏原因和处理

1 内存泄漏的原因:应用程序在占用内存后,退出时没有及时的放出内存,导致没有放出的这块内存不能被其他程序使用,从而出现内存变小,泄漏问题;终究原因其实就是程序没有写好。

2 内存泄漏的判断:可以通过shell脚本检测出节点的内存大小,并比对节点已安装的内存大小,如果小于节点原始内存大小,则表示内存出现泄漏情况;

处理步骤:

1内存泄漏严重的话,会严重影响应用或者计算作业的运行情况,这个时候先关闭内存泄漏节点的作业提交功能:badmin hclose node178(主机名) ,再用bhosts node178看节点的状态;

2手动卸载节点的共享文件系统/home,先用fuser -ck  /home 看有哪些进程在使用文件系统,并把他们杀掉,然后使用umount /home卸载文件系统。也可以批量卸载文件系统:

 先把要批量卸载并重启的节点新建在一个文件里,比如是node.list  ,然后使用,nprsh -f node.list  fuser -ck /home ,  nprsh -f node.list  umount  /home 

内存查看的一些命令:

free -g查看内存大小,以G为单位表示,-m ,-k参数则是以M和K为单位表示

dmidecode -t  17 (这个命令可以查看内存模块插槽,可以看到是哪个模块内存丢失,方便换新的内存到坏的模块)

 

posted @ 2016-07-19 13:33  王能武  阅读(685)  评论(0编辑  收藏  举报