Help with memory problems

From Diracwiki

Jump to: navigation, search

DIRAC will allocate the following memory segments:

  • Static allocation (94 MB; you can verify it using "make info")
  • WORK array for F77 "dynamic" allocation (specified by ./pam --mb)
  • Additional F90 dynamic allocations (depends on the calculation)

MEMGET errors

They look like this:

  --- SEVERE ERROR, PROGRAM WILL BE ABORTED ---

 Date and time (Linux) : Fri Nov 26 10:48:19 2010
 MEMGET ERROR, insufficient work space in memory
 Intentionally causing a crash with a Segmentation Fault

This means that you need to increase the WORK array (increase --mb).

MEMCHK errors

They look like this:

 MEMCHK ERROR, not a valid memget id in work(kfree-1)
 Text from calling routine : PSIDHF.DHFSCF (called from MEMREL)
 KFIRST,KFREE,IALLOC =         1         2         1
 found memory check :                        0
 expected           :               1234567890

This means that you have found a bug in the code. Please contact the developers.

Other memory allocation errors

If you see a error message about memory problems in the queuing system output (and not in the DIRAC output) it typically means that there is not enough memory for F90 dynamic allocations.

You need to increase the memory limit that you specify to the queuing system or perhaps decrease --mb (if possible).

Personal tools