Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : c/c++: Zustand vom Arbeitsspeicher (POSIX)



mcspam
20-06-2005, 14:49
Hallo,

ich suche nach einer einfachen Möglichkeit Informationen über meinen Hauptspeicher zu erfahren: Wieviel Bytes sind noch frei / schon belegt etc.

wichtig ist mir auch, dass es auf möglichst allen Unixen läuft (->POSIX)

kann mir jemand helfen?
Ein Tip, wo/wie ich bei solchen Fragen suche wär auch super!

Danke

peschmae
20-06-2005, 15:13
In /proc/meminfo sollte so Zeugs stehen - aber ich weiss nicht ob das eine Posix-Standart (;)) ist oder ob die Existenz und das Format dieser Datei Wald-Wiesenmässig von jedem Unixhersteller selber festgelegt werden.

MfG Peschmä

mcspam
20-06-2005, 15:38
Diese Datei gibt es nichtmal auf allen Systemen

Joghurt
22-06-2005, 00:47
Denke nicht, dass POSIX da einen Standard für hat, außer natürlich, mit popen die Ausgabe von "free" zu parsen.

peschmae
22-06-2005, 07:18
Free gibts auch nicht überall (einfach so) :D

z.B. auf OpenBSD schon mal erstmal nicht - zumindest in der Defaultinstallation

MfG Peschmä

mcspam
22-06-2005, 08:03
eben.

worums mir eigentlich geht:

ich will die anzahl von möglichen "forks" auf verschiedenen Systemen testen.
In der Regel führt der Test aber dazu, dass der Arbeitsspeicher auf 100% anschwillt und das System lahmlegt.
Schön wäre hier ein kritischer Abbruch vom forktester selbst gewesen, wenn er merkt, dass nur noch <10mb arbeitsspeicher zur verfügung stehen oder ähnlich.

peschmae
22-06-2005, 08:43
Also bei Linux wird der schuldige Prozess ja eh abgeschossen. (Nur hab ich kürzlich mal gelesen dass die Schuldfrage durch einen ziemlich zufälligen Algorithmus geklärt wird ;))

Aber auf einem "normalen" System sollte das eh so begrenzt sein dass ein User das System eh nicht in den Abgrund treiben kann - bei Debian entsprechende Beschränkungen in /etc/security/limits.conf

Kann natürlich sein dass so ein Mechanismus bei manchen fehlt. Fände ich jetzt aber eher überraschend.

MfG Peschmä

Joghurt
22-06-2005, 14:15
ich will die anzahl von möglichen "forks" auf verschiedenen Systemen testen.Das sollte doch auch mit einem
getrlimit(RLIMIT_NPROC,...) möglich sein.

Thomas Engelke
29-06-2005, 08:30
Nur hab ich kürzlich mal gelesen dass die Schuldfrage durch einen ziemlich zufälligen Algorithmus geklärt wird ;)

Hast du dafür mal eine Quelle? Wäre mal interessant :)

TME

peschmae
29-06-2005, 10:08
Ich vermute mal es war irgendwo in einer der http://www.kerneltraffic.org - Maillistenzusammenfassungen. Bin mir aber nicht sicher. Viel Spass beim suchen, wenn dich das wirklcih so interessiert ;)

MfG Peschmä

mcspam
29-06-2005, 10:57
ok, danke mal für die informativen Antworten.