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 (这个命令可以查看内存模块插槽,可以看到是哪个模块内存丢失,方便换新的内存到坏的模块)