 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 27.06.2008, 21:51 Titel: [Win/Linux][Systemtools] fbSysMon |
|
|
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!
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 |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 28.06.2008, 01:40 Titel: |
|
|
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...
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 |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 28.06.2008, 13:02 Titel: |
|
|
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.
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 |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 28.06.2008, 16:17 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 28.06.2008, 17:34 Titel: |
|
|
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 |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 28.06.2008, 18:15 Titel: Re: [Win/Linux][Systemtools] fbSysMon |
|
|
Lesen hilft!
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 |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 29.06.2008, 15:09 Titel: |
|
|
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 |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 29.06.2008, 16:41 Titel: |
|
|
Hi,
hiermit lässt sich einiges an Code einsparen
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 |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 29.06.2008, 16:59 Titel: |
|
|
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 ), 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 |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 29.06.2008, 18:10 Titel: |
|
|
volta hat Folgendes geschrieben: | Hi,
hiermit lässt sich einiges an Code einsparen
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  |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 29.06.2008, 18:12 Titel: |
|
|
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 |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 29.06.2008, 18:35 Titel: |
|
|
Das Feld CPU arch. unter Misc. ist obsolet, wird in der nächsten Version entfernt
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.
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 |
|
 |
Slim_Shady
Anmeldungsdatum: 25.06.2008 Beiträge: 22
|
Verfasst am: 29.06.2008, 19:04 Titel: |
|
|
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  |
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.....
 _________________ Mein PC:
GeForce 8800GT @660Mhz | AMD Phenom X4 9750 | Gigabyte GA-MA770-DS3 | 2GB OCZ RAM |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 29.06.2008, 19:08 Titel: |
|
|
Äh ne nich wirklich.
AMD64 ist eine ganz eigene Prozessorarchitektur, genauso wie IA64, i386...i686.
Nur haben eben die meisten AMD64 ( ) Prozessoren die Eigenschaft, x86 Code ohne emulierung/virtualisierungs Lösung ausführen zu können
/EDIT:
Neue Version mit Win.Vista unterstützung... |
|
Nach oben |
|
 |
Slim_Shady
Anmeldungsdatum: 25.06.2008 Beiträge: 22
|
Verfasst am: 29.06.2008, 19:47 Titel: |
|
|
Achso ok (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 |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 30.06.2008, 01:52 Titel: |
|
|
Ein HTML-Dump Feature wäre sehr nützlich  _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 30.06.2008, 17:48 Titel: |
|
|
Hey!
Das ist allerdings eine gute Idee! Danke für den Vorschlag!
Wird auf jeden Fall in der nächsten Version enthalten sein! |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 03.07.2008, 07:22 Titel: |
|
|
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.
Allerdings wird dann sogar die Core-anzahl angezeigt (Danke @Volta).  |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 03.07.2008, 15:35 Titel: |
|
|
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 ) 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 |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 03.07.2008, 19:35 Titel: |
|
|
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.
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
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  |
|
Nach oben |
|
 |
|
|
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.
|
|