Automatic memory leak tester

In OpenMX, the memory used is dynamically allocated when it is required. However, the dynamic memory allocation causes often a serious memory leak which wastes the memory used as the MD steps increase. To check the memory leak, one can run OpenMX as follows:


For serial running

  % ./openmx -mltest 

For parallel running
  % ./openmx -mltest "mpirun -np 4 openmx"

By monitoring VSZ and RSS actually used at the same monitoring point in the program code for 13 test inputs in a directory 'work/ml_example', one can find whether the memory leak takes place or not. After finishing the run, a file 'mltest.result' is generated in the directory 'work'. You will see the monitored VSZ and RSS as a function of MD steps as follows:
    1     ml_example/Co4.dat              

                   CPU (%)     VSZ (kbyte)    RSS (kbyte)
 MD_iter=   1      99.500     271208          61804
 MD_iter=   2      95.100     398752         190608
 MD_iter=   3      99.900     385352         177336
 MD_iter=   4      96.800     385352         177336
 MD_iter=   5      99.900     385352         177336
 MD_iter=   6      97.600     385352         177336
 MD_iter=   7     100.000     385352         177336
 MD_iter=   8      98.100     385352         177336
 MD_iter=   9     100.000     385352         177336
 MD_iter=  10      98.500     385352         177336
 MD_iter=  11      97.200     385352         177336
 MD_iter=  12      98.800     385352         177336
 MD_iter=  13      97.700     385352         177336
 MD_iter=  14      99.100     385352         177336
 MD_iter=  15      98.000     385352         177336
 MD_iter=  16      99.200     385352         177336
 MD_iter=  17      98.300     385352         177336
 MD_iter=  18      99.400     385352         177336
 MD_iter=  19      98.600     385352         177336
 MD_iter=  20      97.800     385352         177336


    2     ml_example/Co4+U.dat            

                   CPU (%)     VSZ (kbyte)    RSS (kbyte)
 MD_iter=   1      99.500     271336          61928
 MD_iter=   2     104.000     398880         191052
 MD_iter=   3     100.000     385476         177776
 MD_iter=   4      96.800     385476         177776
 MD_iter=   5     100.000     385476         177776
 MD_iter=   6      97.500     385476         177776
    ......
    ....



2016-04-03