You are not logged in.

#1 2012-02-06 12:36:09

gborzi
Member
From: Sicilia
Registered: 2009-03-18
Posts: 102

kernel memory limit

I have a fortran program that performs EM simulations, and I've noticed a strange behaviour. The program is quite old, so the arrays are preallocated and must be very large, to the point that I had to use 8 byte integer as default. The strange thing is that when the size of the preallocated arrays is above the physical memory, the executable doesn't work (it exits immediately with "Killed") and ldd reports "not a dynamic executable". The really strange thing is the latter, i.e. the ldd output. I have two Linux boxes, one with 8GB running Arch, and another with 24 GB running debian 5.0. The same binary, compiled with preallocated arrays using 16GB is seen differently by the two machines. In the 8GB one it is "not a dynamic executable", in the 24 GB it reports the linked libraries. By "same binary" I mean that I compile on one machine and then copy it on the other, not that I compile two binaries, one per machine.
If I compile with preallocated arrays using more than 24 GB I get "not a dynamic executable" on both machines.
I realize that it is mostly an academic question, it doesn't make sense to use the swap memory with such a program, but I'm still curious.


Giuseppe Borzi' - Registered Linux user #34028

Offline

Board footer

Powered by FluxBB