Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[Win/Linux][Systemtools] fbSysMon
Gehe zu Seite 1, 2, 3, 4  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 27.06.2008, 21:51    Titel: [Win/Linux][Systemtools] fbSysMon Antworten mit Zitat

Moin!

Wollte hier mein kleines Tool names fbSysMon vorstellen

Habe irgendwann vergangenen Jahres auf irgendeine Familienfeier das Rahmenprogramm mit nano geschrieben, naja jetzt besteht das ganze aus dem Hauptprogramm in FB, und einer C-Routine, die in Freebasic nicht wollte.

Den Source möchte ich nicht gleich sofort offenlegen, auch wenn bereits Teile im Umlauf sind!

Eine Linux Binary werde ich auf jeden Fall noch nachreichen! zwinkern

Das ganze hat inetwa 1/2 des Funktionsumfang...

Features:
  • Eigenes kleines GUI, auf der Basis von Line + Draw String
  • Englisches User Interface
  • Umfangreiche Speicheranzeige (RAM insgesamt, RAM genutzt, RAM frei, Swap insgesamt, Swap genutzt, Swap frei, und für Linux auch den buffered und shared RAM)
  • Unterscheidung von den meisten bekannten Microsoft Windows Betriebsystemen
  • Anzeige der aktuellen CPU Auslastung in Prozent
  • (Anzeige der Prozessor-Architektur (derzeit fix i686)


geplante Features:
  • Informationen über aktuelle Auflösung, Farbtiefe, und die Fähigkeiten der Grafikkarte
  • Anzeige der gängigsten CPU Features (MMX, 3D Now!, MMX Ext, SSE, SSE2, SSSE3, SSE4 usw.)
  • Balkendarstellung der CPU Last
  • CPU Last auch unter Linux
  • Distibutionserkennung (Linux)
  • Kernelversion (Linux)


Systemvorraussetzungen:
  • Grafikkarte / laufenden X-Server
  • Bildschirmauflösung größer als 640x480
  • x86 kompatiblen Prozessor (Auch AMD64/EM64T Prozessoren, ab i386 unterstützt)
  • RAM
  • 1 MB freien Festplattenspeicherplatz
  • Tastatur

Bedienung:
  • Escape - Beenden
  • F5 - Aktualisieren aller Darstellungen

Sollte also auf jeden Computer gebaut nach 1995 laufen.

Screenshot:


Download:
http://28398.org/_proj/fbSysMon/fbSysMon.exe <<Windows Binary>>
http://28398.org/_proj/fbSysMon/devel.7z <<Devel>>


Zuletzt bearbeitet von 28398 am 09.01.2009, 21:17, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 28.06.2008, 01:40    Titel: Antworten mit Zitat

Dein Programm zeigt auf meinem Rechner nicht ganz korrekte Daten an:
Das Programm erkennt bei mir nur 2048 MB RAM, obwohl ich eigentlich 3 GB eingebaut habe (Microsoft Windows XP Professional erkennt diese 3 GB auch) und 0 MB "used RAM" kommen mir auch etwas wenig vor... zwinkern

LG, St_W
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 28.06.2008, 13:02    Titel: Antworten mit Zitat

Welches Windows hast du?

fbSysMon holt sich die RAM Infos eigentlich von der selben API wie der TaskManager sie sich wohl auch holen wird (GlobalMemoryStatus).
Aber ich schaue gerne nach, ab wann diese Funktion verfügbar ist. lächeln

Obwohl...
Die Daten kommen von der Funktion.
Diese Speichert sie als Signed Integer ... (Wertebereich/1024)/1024 ~ 2048
Ok, ich halte mal ausschau nach einer Alternative...

/EDIT
Ja, GetGlobalMemoryStatusEx nutzt 64-bit Integers, Nachteil bei beiden Funktionen:
Zitat:
Client Requires Windows Vista, Windows XP, or Windows 2000 Professional.
Server Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.


Ich schau mal nach Funktionen für pre-NT OSse

/EDIT²
Nein, für alles vor Win2000 gibt es dafür keine Funktion...

Könntest du, St_W, es noch einmal downloaden und ausprobieren?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 28.06.2008, 16:17    Titel: Antworten mit Zitat

Update:
  • Anzeige der Farbtiefe in Bits per Pixel
  • Anzeige der Desktopauflösung
  • Sekündliche Aktualisierung aller Informationen
  • Speicherbug fixed
  • Anzeigebug fixed


Known Bugs:
  • CPU wird nicht richtig erkannt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 28.06.2008, 17:34    Titel: Antworten mit Zitat

ganz ehrlich, sowas als EXE zu veröffentlichen, halte ich für sinnlos. die Werte kann man alle auch in der Systemsteuerung oder eben im Taskmanager erfahren. Interessanter ist hier für den FB-Programmierer der Sourcecode, mit dem die APIs angesprochen werden.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 28.06.2008, 18:15    Titel: Re: [Win/Linux][Systemtools] fbSysMon Antworten mit Zitat

Lesen hilft! zwinkern
28398 hat Folgendes geschrieben:
Den Source möchte ich nicht gleich sofort offenlegen, auch wenn bereits Teile im Umlauf sind!


Wenn das Programm zu meiner *eigenen* Zufriedenheit läuft, gibts den Sourcecode.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 29.06.2008, 15:09    Titel: Antworten mit Zitat

Update:
  • Added: CPU-Erkennung
  • Added: CPU-Features, die erkannt werden: MMX, SSE, SSE2
  • Added: CPU-Takt-Schätzung (ca. 200 Mhz Schwankung)
  • Added: Sourcecode
  • Removed: "updating..."-Anzeige


Herzlicher Dank geht an Volta für sein Tool WinCPU!!
Diesmal gibt es dann auch den Sourcecode, da das Tool nun zu meiner *eigenen* Zufriedenheit läuft! (Nagut, die CPU-Last Anzeige zeigt aus irgendeinen Grund immer 0 an, aber darum kümmere ich mich später...)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 29.06.2008, 16:41    Titel: Antworten mit Zitat

Hi,
hiermit lässt sich einiges an Code einsparen grinsen
Code:
Dim As UInteger  erg = fb_CpuDetect
'auf CPUID wird in der fb_CpuDetect geprüft!
If (erg And &h0fffffff) >0 Then Print "CPUID" Else Print "no CPUID"
Print "CPU family " & (erg shr 28)
'Processor Standard Feature Bits
If erg And &h00800000 Then Print "MMX"'Bit 23
If erg And &h02000000 Then Print "SSE"'Bit 25
'SSE2 kann ab FB 0.20.0 auch so bestimmt werden
If erg And &h04000000 Then Print "SSE2"'Bit 26

Sleep

_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 29.06.2008, 16:59    Titel: Antworten mit Zitat

Ich habe jetzt das Programm noch einmal heruntergeladen und alle Daten aus allen Kategorien stimmen, bei einer bin ich mir jedoch nicht ganz sicher:

Als Prozessorarchitektur wird bei meinem Intel Core 2 Quad Q6600 Prozessor (4 Kerne, 2400 MHz (Schätzung stimmt übrigens exakt Daumen rauf! ), 64-Bit) "AMD64" angezeigt. Ich kenne mich da nicht so aus, aber ist das OK bei einem Prozessor von Intel?
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 29.06.2008, 18:10    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
Hi,
hiermit lässt sich einiges an Code einsparen grinsen
Code:
Dim As UInteger  erg = fb_CpuDetect
'auf CPUID wird in der fb_CpuDetect geprüft!
If (erg And &h0fffffff) >0 Then Print "CPUID" Else Print "no CPUID"
Print "CPU family " & (erg shr 28)
'Processor Standard Feature Bits
If erg And &h00800000 Then Print "MMX"'Bit 23
If erg And &h02000000 Then Print "SSE"'Bit 25
'SSE2 kann ab FB 0.20.0 auch so bestimmt werden
If erg And &h04000000 Then Print "SSE2"'Bit 26

Sleep

Naja, auf meinem Computer hat dieser Code schonmal nicht funktioniert, deswegen verlasse ich mich da eher auf die (leicht modifizierten) WinCPU Funktionen...

@St_W:
Nunja, ganz pingelich müsste da Intel64 oder EM64T stehen, allerdings ist das 100% identisch zu AMD64. Man könnte auch x86_x64 schreiben oder einfach nur x64. Allerdings hat AMD64 diesen Standard spezifiziert, deswegen benutzte ich lieber deren Bezeichnung. Die ist immerhin Eindeutig lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 29.06.2008, 18:12    Titel: Antworten mit Zitat

Ich hab einen Intel Celeron M 530(32-Bit) und sehe AMD64. Die Felder CPU arch. und OS (Vista Home Basic) sind leer.
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 29.06.2008, 18:35    Titel: Antworten mit Zitat

Das Feld CPU arch. unter Misc. ist obsolet, wird in der nächsten Version entfernt zwinkern
Das unter Processor->Achitecture AMD64 steht, kann man nur darauf zurückführen, dass der Prozessor sich selbst als ein x64-Prozessor outet.
Du hast wahrscheinlich einen höherwertigen 64-Bit Core gedrosselt als einen minderwertigeren Prozessor.
Daher, dass Feature kann man nicht benutzten, exisitiert trotzdem.
Oder: Du hast bloß ein x86-OS, ohne zu wissen dass dein Prozessor eigentlich mehr leisten kann. zwinkern
Sprich: Dieses Feld steht nicht für die OS-Architectur, sondern für die höchstwertigste unterstützte Architectur der CPU...

Das mit OS werde ich fixen, wahrscheinlich habe ich es vergessen zu übernehmen ...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Slim_Shady



Anmeldungsdatum: 25.06.2008
Beiträge: 22

BeitragVerfasst am: 29.06.2008, 19:04    Titel: Antworten mit Zitat

28398 hat Folgendes geschrieben:

Nunja, ganz pingelich müsste da Intel64 oder EM64T stehen, allerdings ist das 100% identisch zu AMD64. Man könnte auch x86_x64 schreiben oder einfach nur x64. Allerdings hat AMD64 diesen Standard spezifiziert, deswegen benutzte ich lieber deren Bezeichnung. Die ist immerhin Eindeutig lächeln


Naja, fast jeder Prozessor unterstützt heutzutage 64 Bit....
Ich würde da vllt ein feld hinmachen, wo steht:

Has x64 : Yes/No

Weil wenn du schon bei der SSE und MMX anzeige, eine Yes/No anzeige machst, dann musst du das eig au bei 64Bit machen...
Die Architektur ist ja eig was anderes..... glaub ich zumindest.....
mit den Augen rollen
_________________
Mein PC:
GeForce 8800GT @660Mhz | AMD Phenom X4 9750 | Gigabyte GA-MA770-DS3 | 2GB OCZ RAM
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 29.06.2008, 19:08    Titel: Antworten mit Zitat

Äh ne nich wirklich.

AMD64 ist eine ganz eigene Prozessorarchitektur, genauso wie IA64, i386...i686.

Nur haben eben die meisten AMD64 (durchgeknallt) Prozessoren die Eigenschaft, x86 Code ohne emulierung/virtualisierungs Lösung ausführen zu können zwinkern

/EDIT:
Neue Version mit Win.Vista unterstützung...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Slim_Shady



Anmeldungsdatum: 25.06.2008
Beiträge: 22

BeitragVerfasst am: 29.06.2008, 19:47    Titel: Antworten mit Zitat

Achso ok happy durchgeknallt (Hab ned wirklich sehr viel Ahnung... Das was ich kenn, kenn ich aus nen paar PC Games Hardware Zeitschriften (und aus dem PC Games Hardware Forum)
_________________
Mein PC:
GeForce 8800GT @660Mhz | AMD Phenom X4 9750 | Gigabyte GA-MA770-DS3 | 2GB OCZ RAM
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 30.06.2008, 01:52    Titel: Antworten mit Zitat

Ein HTML-Dump Feature wäre sehr nützlich lächeln
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 30.06.2008, 17:48    Titel: Antworten mit Zitat

Hey!
Das ist allerdings eine gute Idee! Danke für den Vorschlag! lächeln
Wird auf jeden Fall in der nächsten Version enthalten sein!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 03.07.2008, 07:22    Titel: Antworten mit Zitat

Ich arbeite momentan an der neuen Version. Da das Update heute so wie morgen wohl nicht fertig sein wird, erstmal eine Statusmeldung:

Da ich aber mich erstmal wieder in HTML eingewöhnen muss, wirds das Update wohl erst am Wochenende geben. lächeln
Allerdings wird dann sogar die Core-anzahl angezeigt (Danke @Volta). lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 03.07.2008, 15:35    Titel: Antworten mit Zitat

Ich glaube in die Anzeige der Prozessorauslastung ist auch noch Fehlerhaft: Auf meinem älteren Rechner hat das Programm bis jetzt nichts anderes als die Werte 0,0% (obwohl dieser Status fast nie erreicht wird), 97,xx und 104,xx (CPU macht mehr als sie kann zwinkern ) angezeigt.

Als Prozessorname und ~architektur wird auf diesem Rechner (Intel Celeron-S [Tualatin A80530, 32-Bit, 1200 MHz (1210 zeigt das Programm an)]) überhaupt nichts angezeigt.

LG, St_W
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 03.07.2008, 19:35    Titel: Antworten mit Zitat

Erstmal: Danke, dass du dir die Mühe gemacht hast das Ganze zu testen!

Der Fehler mit den x86-Architekturen ist allerdings mir bereits bekannt und auch gefixt. lächeln
In meiner offline-Version ist auch das UI schon ein bisschen anders, das Feld name war/ist leer geblieben/blieb, da der Brand-String eine Länge von 44 Zeichen hat, und 44 * 8 (Zeichenbreite) = 352, und dafür ist dort definitiv kein Platz.
Die Processor-Felder sind aufgerückt, nach Speed habe ich Cores eingefügt, wo dank Volta die Anzahl der verfügbaren Cores steht. (Unter Intel scheint es so zu sein, dass bei Multi-Prozessorsystem dort die gesamt Zahl aller Cores steht, bei AMD die Zahl der Cores eines einzelnen Prozessors.
Aber da bin ich mir nicht ganz sicher, da ich kein MP System mit AMD-Prozessoren habe, und mein Intel-MP-System mit zwei Pentium ][s bestückt ist.

Das mit der CPU-Auslastung ist mir schon vorher aufgefallen, aber ich war mir auch da nicht ganz sicher, da ich ja überein Multicore-System verfüge...
Ich werde mich jedoch bemühen, einen anderen Code zur Ermittlung der CPU-Last zu besorgen.
Ich verwende da ja bereits C++ als Backend grinsen

Die kleinen, mal größeren Schwankungen beim Takt liegen übrigens daran, dass fbSysMon durch auslesen des CPU-Clockcounters ermittelt.
Das ganze hochgerechnet auf 1 Sekunde (Es wird über eine Dauer von 200 ms gemessen), und geteilt durch 1000*1000 (?) ergibt den Takt in Mhz.
Nun ist bei Multitasking OSsen die Hintergrundlast variabel, dadurch bekommt das Programm selbst bei der für die Dauer der Messung zweithöchsten Zuteilbaren Priorität (Echtzeit verursacht eine Art Lag, da das OS selbst fast gar keine CPU Zeit mehr bekommt...) auch nicht immer alles vom Kuchen ab...

Dieses lange Posting habe ich übringens in einer kurzen Pause des Dauergewitters, das seit ca. 4 Stunden um unsere Stadt kreist erstellt.
Ich denke, dass ich alle Feature Requests bis Samstag Nachmittag, spätestens Sonntag erledigt habe.
Dann gibts die neue Version mit vielen schönen Features lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3, 4  Weiter
Seite 1 von 4

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz