Info ueber 'cached memory' lesen

06/12/2011 - 14:52 von Jochen Luebbers | Report spam
Hallo,

ich versuche gerade auf einem Linux-System (genauer CentOS 5 & 6) u
ermitteln, ob noch genügend Speicher frei ist/sein könnte.

Dafür kann ich entweder /proc/meminfo auslesen und dessen Text parsen,
oder ein Programm a la free/vmstat bitten, das für mich zu tun, und dann
dessen Ausgaben parsen.

Aber eigentlich möchte ich viel lieber die Werte gleich in einer
Datenstruktur, die ich in C direkt weiter verarbeiten kann lesen.

sysinfo() bietet so etwas, nur dass ich keine Informationen über den
cached-Anteil des Speichers erhalte. Und damit sind die Angaben für mich
nicht gut zu gebrauchen. (Nach einem Weilchen ist der "freie" Speicher
nàmlich fast ganz aufgebraucht, was aber noch lange nicht heißt, dass
ich doch viel mehr allozieren kann...)

Gibt es da keine bessere API als Text scannen? Oder habe ich
(hoffentlich) nur etwas übersehen?

Gruß
Jochen

PS: Die man-page sagt, dass sysinfo() Linux spezifisch sei, gilt das
immer noch, oder haben andere UNIXes nachgezogen?
"Who desire to give up freedom in order to gain security
will loose both in the end."
 

Lesen sie die antworten

#1 Rainer Weikusat
06/12/2011 - 14:59 | Warnen spam
Jochen Luebbers writes:
ich versuche gerade auf einem Linux-System (genauer CentOS 5 & 6) u
ermitteln, ob noch genügend Speicher frei ist/sein könnte.



Entweder Dein Code laeuft im kernel. Dann brauchst Du keine
/proc-Dateien zu parsen. Oder er ist ausserstande, 'physisches
Speichermanagement' zu betreiben.

Ähnliche fragen