Fwd: Re: Re: Speicherverwaltung bei Linux
Ursprüngliche Nachricht:
Wenn ich unter C++ ein new char [4096] mache, wieviel Speicher wird dann wiklich verwendet?
Ich koennte mir vorstellen, dass C++ 4 Bytes fuer die Laenge des Arrays benoetigt, um nachher ein delete[] machen zu koennen. Aber was bleibt noch zusaetzlich alles im Kernel haengen?
Probier doch mal strace/ltrace oder "electric-fence" oder aehnliche malloc debugger..
Ich glaube nicht, das er damit den kernel_internen_ Bedarf für ein Array herausbekommt. Das ist aber auch ein extra Thema. IIRC braucht der Kernel ungefähr 150 Byte je Kachel für die MMU Verwaltung.
Allerdings weiß ich nicht wieweit ein Prozeß mit einem new char [4096] überhaupt dazu führt, das sich da etwas am Bedarf ändert.
Gedanke war eigentlich, zur effizienten Speicherausnutzung Blöcke in der Größe einer Page anzufordern. Wenn jetzt zum Beispiel sich C++ für die Größe vier Bytes krallt, dann darf ich nur 4092 Zeichen allokieren. Was hängt mir denn der Kernel noch sonst an meinen Speicherblock für Verweltungsdaten an? -- Ciao Christian _______________________________________________________________________ 1.000.000 DM gewinnen - kostenlos tippen - http://millionenklick.web.de IhrName@web.de, 8MB Speicher, Verschluesselung - http://freemail.web.de _______________________________________________________________________ Das WEB.DE Zertifikat zur Pruefung digitaler Unterschriften gibts bei: http://trust.web.de/root.sql
Teilnehmer (1)
-
Christian Weddeling