Ich führe ein C ++ - Programm in Ubuntu 10.04 (32-Bit-Systemarchitektur) aus. Wenn ich die Speicherkapazität berechne, die mein Programm verwendet, beläuft sich diese auf 800 MB. Ich habe einen 4GB RAM. Aber noch bevor das Programm beendet ist, gibt es eine Speicherausnahme. Warum passiert das? Liegt es an der Struktur des Speichers oder an Implementierungsproblemen oder was könnte dieses Problem möglicherweise auslösen? Ich habe dieses Problem schon einige Male gesehen, aber den Grund dafür nie verstanden. Hat jemand von euch diesen Fall schon einmal behandelt?
Aktualisieren:
Das Programm, das ich ausführen möchte, ist hier mit Erläuterungen. Um die Größe des von mir verwendeten Speichers zu erhöhen, erhöhe ich einfach den Wert max_i
in der Hauptfunktion.
ulimit
.