AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Freien Ram ermitteln per .NET

Ein Thema von Master_BB · begonnen am 16. Jul 2005 · letzter Beitrag vom 16. Jul 2005
Antwort Antwort
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#1

Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 10:22
Hallo,
weiß jemand wie man mit .NET die Ramauslastung ermitteln kann ohne auf
Windows Routinen runter zu rutschen?

Greetz
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
merlin17

Registriert seit: 15. Dez 2002
Ort: Mittelfranken
980 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

Re: Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 11:27
ich gehe folgenden Weg:

namespace System.Managment.ManagmentObject;
Hier gibt es ein Object Win32_OperatingSystem, und über dieses bekommst du die verschiedene Eigenschaften;
u.a. die ganzen MemoryInfo's

Beachte aber, dass am Zielrechner das WMI installiert íst und das Benutzerkonto, das aktuell verwendet
wird, über die WMI- und Systemrechte verfügt.



thomas
- TeamNevrona cannot respond to questions received via email -
http://rave-notes.blogspot.com
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#3

Re: Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 11:48
hm schade dachte das es vieleicht eine systemunabhänige variante gibt
wozu .NET ja da ist das wenn ein .NET programm auf linux ausgeführt wird
immerncoh mit der selben routine der ram ausgelesen wird. hängt ja nur
am framework. so ist das ja wieder windows spezifisch
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
merlin17

Registriert seit: 15. Dez 2002
Ort: Mittelfranken
980 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 12:05
hmmmmm,

zwischen Hardware und Framework liegt ja immer das OS und nur
das hat Zugriff auf die Hardware (ist relativ, ich weiss).
keine Ahnung wie es bei Mono aktuell aussieht, evtl. kannst du hier
ja die Abfrage für die Welten IFen....


thomas
- TeamNevrona cannot respond to questions received via email -
http://rave-notes.blogspot.com
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 12:46
Zitat von merlin17:
zwischen Hardware und Framework liegt ja immer das OS
Genau:

Anwendung
Framework
OS
Hardware

Und genau darum sollte man meinen es gäbe was systemunabhängiges. Denn das Framework ist doch genau dazu gedacht, die Funktionsaufrufe des Programmes in die passenden Funktionsaufrufe für das OS umzusetzen.
Wenn ich in der Anwendung FileOpen aufrufe, dann wird unter Windows das Framework CreateFile mit den passenden Parametern aufrufen und unter Linux eben die entsprechende API (Keine Ahnung, wie die unter Linux heißt.). Denn dazu ist es ja da, dass sich der Programmierer, um so was nicht kümmern muss. So warum sollte das jetzt nicht auch bei den Speichermanagmentfunktionen gehen?

Diese Frage ist also berechtig und würde mich auch mal interessieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#6

Re: Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 12:57
System.Diagnostics ist Dein Freund. Dort gibt es PerformanceCounter für die Speichergrössen. Die sind übrigens auch schon in dotGNU implementiert und somit Plattformübergreifend verfügbar.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#7

Re: Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 13:01
jop so wie luckie das ausformuliert hab meinte ich das auch.
jede routine die man aufruft wird vom framework dann halt anders fürs
jeweilige betriebssystem interpretiert bzw weitergeleitet
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#8

Re: Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 19:24
HIER DIE LÖSUNG
RAM GRÖßE BEKOMMEN

Delphi-Quellcode:
//in MB
function GetMemorySize : int64;
var
  ACounter : PerformanceCounter;
begin
  ACounter := PerformanceCounter.Create('Speicher','Systemcode: Gesamtanzahl Bytes');
  Result := Convert.ToInt64(ACounter.NextValue * 0.001);
end;
FREIE RAM Bytes bekommen
Delphi-Quellcode:
//in Bytes

function GetFreeMemory : int64;
var
  ACounter : PerformanceCounter;
begin
  ACounter := PerformanceCounter.Create('Speicher','Verfügbare Bytes');
  Result := Convert.ToInt64(ACounter.NextValue);
end;
könnte man vieleicht in die Code Libary übernehmen oder?
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
merlin17

Registriert seit: 15. Dez 2002
Ort: Mittelfranken
980 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

Re: Freien Ram ermitteln per .NET

  Alt 16. Jul 2005, 20:46
@Luckie,
stimmt, aber durch das "Win32..." war es ja doch nicht OS-getrennt.

System.Diagnostics kannte ich bisher nicht in diesem Zusammenhang;
ist natürlich eleganter und OS-unabhängiger!


thomas
- TeamNevrona cannot respond to questions received via email -
http://rave-notes.blogspot.com
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz