Valgrind 可以用来检测程序是否有非法使用内存的问题,例如访问未初始化的内存、访问数组时越界、忘记释放动态内存等问题。本文介绍Valgrind的基础使用,帮你检测C++程序中的内存泄漏、初始化问题。
昨天在 天河二号 上运行MPI程序,迭代到某个步数后会被kill掉。因之前出现过运行中被莫名终止的现象,以为这次也是调度系统出意外。再次运行程序,执行相同步数后还是被kill。查看运行日志,提示内存耗尽被强制终止,所以问题原因是程序出现了内存泄漏。