int main(int argc, char* argv[])
{ int x;
}
cat /proc/<PID>/maps
08048000-08049000 r-xp 00000000 08:03 467006 /home/jan/c/d 08049000-0804a000 rw-p 00000000 08:03 467006 /home/jan/c/d 40000000-40014000 r-xp 00000000 08:06 212273 /lib/ld-2.2.4.so 40014000-40015000 rw-p 00013000 08:06 212273 /lib/ld-2.2.4.so 40015000-40016000 rwxp 00000000 00:00 0 40016000-40017000 rw-p 00000000 00:00 0 40090000-401a8000 r-xp 00000000 08:06 212286 /lib/libc-2.2.4.so 401a8000-401ae000 rw-p 00117000 08:06 212286 /lib/libc-2.2.4.so 401ae000-401b4000 rw-p 00000000 00:00 0 bfffe000-c0000000 rwxp fffff000 00:00 0Zeigt links den logischen Speicherbereich der Region an, dann folgen die Zugriffsrechte (r=read, w=write, x=execute, p=shareable), die Zahlen des Typs 08:03 geben das Device (Gerät) an von dem die Daten kommen und ganz rechts steht die Datei die hier in den Speicher gemappt wurde. Ist rechts keine Datei angegeben so handelt es sich um dynamischen Speicher den eines der Code-Segmente in der Ausführung mit z.B. malloc in C (new in C++) angefordert hat.
void main(){
const int max = 5000000;
char* a1 = new(char[max]);
08048000-08049000 r-xp 00000000 08:03 467000 /home/jan/c/x 08049000-0804b000 rw-p 00000000 08:03 467000 /home/jan/c/x 401ae000-40679000 rw-p 00000000 00:00 0size = 5.025.792
char* a2 = new(char[max]);
08048000-08049000 r-xp 00000000 08:03 467000 /home/jan/c/x 08049000-0804b000 rw-p 00000000 08:03 467000 /home/jan/c/x 401ae000-40b3e000 rw-p 00000000 00:00 0size = 10.027.008
char* a3 = new(char[max]);
char* a4 = new(char[max]);
char* a5 = new(char[max]);
08048000-08049000 r-xp 00000000 08:03 467000 /home/jan/c/x 08049000-0804b000 rw-p 00000000 08:03 467000 /home/jan/c/x 401ae000-4198d000 rw-p 00000000 00:00 0size = 25.030.656
delete[] a2;
delete[] a4;
08048000-08049000 r-xp 00000000 08:03 467000 /home/jan/c/x 08049000-0804b000 rw-p 00000000 08:03 467000 /home/jan/c/x 401ae000-40679000 rw-p 00000000 00:00 0 40b3e000-41003000 rw-p 00990000 00:00 0 414c8000-4198d000 rw-p 0131a000 00:00 0size1 = 5.025.792
size2 = 5.001.216
size3 = 5.001.216
Jan Kechel 2006-04-28