Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Free-Memory aus C-Programm ermitteln

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
sulu



Anmeldungsdatum: 29.10.2001
Beiträge: 64
Wohnort: Dornbirn

BeitragVerfasst am: 29. Jan 2002 13:22   Titel: Free-Memory aus C-Programm ermitteln

Hi.

Ich möchte meinen C-Programmen ein sinnvolles Memory-Limit auf's Aug drücken. Leider finde ich einfach keine Funktion die etwas analoges zum Output von free in der bash liefert. Unter freien Speicher verstehe ich übrigens: (free + buffers + cached). Ich finde in dan man-pages einfach nichts.
Ich hab mir schon überlegt einfach ein
echo /proc/meminfo > mem.txt vom Programm aus abzusetzen und nachfolgend mem.txt entsptrchend auszuwerten. Das finde ich aber nicht sehr elegant.

Wer weis Rat ?

Gruss und Dank
Sulu
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

trinity



Anmeldungsdatum: 12.10.2001
Beiträge: 821

BeitragVerfasst am: 29. Jan 2002 13:29   Titel: Re: Free-Memory aus C-Programm ermitteln

Du hast doch sicherlich die Quellen von free, oder?
_________________
"Korrekt, Freundlich, Kostenfrei", wähle genau zwei. (Lutz Donnerhacke in dcsf)
 
Benutzer-Profile anzeigen Private Nachricht senden

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 29. Jan 2002 17:31   Titel: Re: Free-Memory aus C-Programm ermitteln

Hi,

die Aufgabe ist sinnlos. Es ist immer genug Speicher frei, solange malloc nicht NULL liefert.

Etwas anderes ist es, wenn du die Funktion von free usw. imitieren willst. Aber wozu braucht man noch eine Version von free? Für den User sind die Zahlen nutzlos.

Gruß,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

sulu



Anmeldungsdatum: 29.10.2001
Beiträge: 64
Wohnort: Dornbirn

BeitragVerfasst am: 29. Jan 2002 18:10   Titel: Re: Free-Memory aus C-Programm ermitteln

Hi Lutz.

An die Quellen von free hab ich gar nicht gedacht.
Es sitzt sich gut auf dem Hirn.
Danke für die Anregung.

Hi hjb.
Das weis ich schon. Ich möchte das die Programme erst gar nicht den anfangen den Swap zu nutzen.
Swap ist für mich ein wenig performanter Notnagel ums das System bei grosser Last funktionsfähig zu halten.

Gruss
Sulu
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 01. Feb 2002 13:01   Titel: Re: Free-Memory aus C-Programm ermitteln

Hi Sulu,

> Swap ist für mich ein wenig performanter Notnagel
> ums das System bei grosser Last funktionsfähig zu halten.

das kann man so nicht sehen. Swap dient in erster Linie dazu, nicht aktive Programme auszulagern. Es verringert nicht die Performance, sondern steigert sie. Erst wenn der Working Set (die aktiven Speicherseiten) größer wird als das RAM, müssen ständig aktive Seiten ausgelagert werden, und das System wird langsam (thrashing).

Du könntest zwar Thrashing erkennen, indem du die Zahl der pagein/pageout pro Sekunde mißt, doch ich sehe wenig Sinn darin. Kein Programm hat sowas eingebaut, nur ganz wenige messen die Systemlast (sendmail, INN, ...).

Die Performance mißt man ab und zu mit einem Tool, und wenn das System ständig am Swappen ist, steckt man mehr RAM rein oder konfiguriert die Software um, so daß sie weniger Speicher braucht. Aber einen direkten Einbau in ein Programm halte ich für sinnlos.

Gruß,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

Sulu
Gast





BeitragVerfasst am: 01. Feb 2002 16:42   Titel: Re: Free-Memory aus C-Programm ermitteln

Hi hjb.

>das kann man so nicht sehen. Swap dient in erster Linie dazu, nicht aktive Programme auszulagern. Es verringert nicht die Performance, sondern steigert sie. Erst wenn der Working Set (die aktiven Speicherseiten) größer wird als das RAM, müssen ständig aktive Seiten ausgelagert werden, und das
System wird langsam (thrashing).

Aha. Sehr interessant. Das System macht den RAM frei und das Programm läuft ergo so performant wie möglich.

Es geht mir darum das Blocking mit möglichst grossen Blöcken durchzuführen. Na gut. Dan setzen wir halt einen vernünftigen Default.

Danke
Sulu
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy