nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Warum kann kein Speicher alloziert werden?

Von: Alexander Skwar (alexander.skwar@digitalprojects.com) [Profil]
Datum: 13.02.2009 14:03
Message-ID: <1234530181.67@askwar.newsoffice.de>
Newsgroup: de.comp.os.unix.misc
Hallo.

Ich bin auf einem Sun M3000 Server mit Solaris 10 (Sparc) in der
Global Zone. Dieser Rechner hat 16GB physikalischen Speicher und,
testhalber, 31G Swap.

Nun habe ich mir ein simples Progrämmchen in C geschrieben,
Source auf http://askwar.pastebin.ca/1336018, das nichts anderes
macht als max. 18x nacheinander "malloc(1 * 1024 * 1024 * 1024)"
auszuführen - also 18x 1GB an RAM anzufordern.

Kompiliert habe ich das Programm mit gcc 3.4.3 und auch mit Sun
Studio 12.

Führe ich das Programm aus, so kann es (heute) nur 3x1 GB
"malloc'en". Gestern konnte es 9x1 GB anfordern.

Frage: Warum ist das so?

Ich habe bei dem System keine Grenzen o.ä. in Betrieb - jeder
Prozess kann soviel Speicher nehmen, wie er will. Und Speicher
sollte auch mehr als genug frei sein - zumindest 20 GB SWAP
sollten frei sein (top sagt, das 31GB Swap frei sind). Warum
konnte aber nur (jetzt gerade) 3GB angefordert werden?

--($ ~)-- ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 10
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 29995
virtual memory          (kbytes, -v) unlimited


Vielen Dank,
Alexander

--
I just forgot my whole philosophy of life!!!
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¯¯¯¯¯¯¯¯¯¯¯¯

[ Auf dieses Posting antworten ]

Antworten