Ich habe die Stack-Größe von /proc/pid/maps für ein C-Programm unter Linux-64 Bit gesehen. Ich konnte die folgende Zeile in Bezug auf die Stack-Größe sehen.
7fffc2e14000-7fffc2e35000 rw-p 00000000 00:00 0 [stack]
Ich verstehe die oben genannten Werte nicht. Wenn ich die Differenz nehme, erhalte ich die Differenz 135168 in Dezimalzahlen. Aber das ist nicht annähernd 8MB. Interpretiere ich es falsch?
Aber wenn ich das rlimit drucke:
int main (void)
{
struct rlimit limit;
getrlimit (RLIMIT_STACK, &limit);
printf ("\nStack Limit = %ld and %ld max\n", limit.rlim_cur, limit.rlim_max);
}
Ausgabe: Stack Limit = 8388608 und -1 max
Ich erhalte Stack Limit = 8388608, was 8 MB entspricht.