Mein CPU-Load Status Menü (testen?)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mein CPU-Load Status Menü (testen?)

    Irgendwie gibs nichts schönes, kostenloses, was oben in der Menü-leiste die CPU-Last graphisch anzeigt, wie ich das will.
    Darum hab ich das mal zur Übung runtergehackt, ging echt flott. Mag das mal wer testen? Vielleicht kann es auch jemand gebrauchen.
    intel only, 10.6 only, binaries hängen an diesem Post: osxentwicklerforum.de/index.ph…d6c65973f250a481f20d35129 (50kb!)
    Ich habe auch mal spassenshalber das Binary mit upx komprimiert, wäre mal interessant, ob das irgendwo Probleme macht.
    Source-Code gebe ich auch raus, sobald ich mal bissl aufgeräumt hab (die paar Zeilen...)

    Screen-shot:osxentwicklerforum.de/index.ph…d6c65973f250a481f20d35129
    C++
  • Funktioniert bei mir tadellos. Neues iMac Dingens.
    Einstellungen sind aber nicht aufrufbar, normal?

    Ich muss nur eingestehen, dass es bei mir nicht genutzt werden wird.
    Habe noch nie verstanden für was man so etwas benötigt. An manchen Rechnern ist ja dieses MenuMeters aktiv, das gefühlte tausend Infos gibt.

    Source-Code gebe ich auch raus, sobald ich mal bissl aufgeräumt hab (die paar Zeilen...)

    :)

    Tipp, wenn Du Dir die Position ganz rechts (bzw. links neben dem Apple Zeugs) "erschleichen" möchtest:

    Quellcode

    1. if([systemStatusBar respondsToSelector:@selector(_statusItemWithLength:withPriority:)])
    2. {
    3. self.statusItem = [systemStatusBar _statusItemWithLength:width withPriority:8001];
    4. }
    5. else
    6. {
    7. self.statusItem = [systemStatusBar statusItemWithLength:width];
    8. }
    Alles anzeigen


    Viele Grüße
  • Funktioniert auch bei mir wunderbar.

    "little_pixel" schrieb:

    Einstellungen sind aber nicht aufrufbar, normal?


    scheint normal zu sein, komme da auch nicht dran.

    Aber ich finde die Ansicht oben in der Leiste recht praktisch und werds mal ein bisschen länger drauf lassen,
    also an dieser Stelle : vielen Dank zerm!

    mfg
  • Ja, "preferences" war erstmal nur ein Platzhalter ;)

    Ich finde das extrem nützlich, weil mein MBP so leise ist (und die Musik so laut dröhnt...), ich aber wissen will, was die CPU macht, insb. weil ich teilweise sehr aufwändige Berechnungen durchführe - oder um zu sehen, ob etwa ein Programm im Hintergrund mit seiner Rechnung fertig ist.

    Das mit dem Positionieren werde ich mal ausprobieren, danke little_pixel!

    Achso, und da ja scheinbar UPX ohne Probleme funktioniert, kann ich das ja nur weiterempfehlen. Reduziert die Größe des Binaries um fast 50% und macht es "Gelegenheitscrackern" etwas schwerer (weil sie erstmal UPX installieren müssen und das Binary entpacken, bevor man es analysieren kann). Nicht, dass ich das bräuchte, aber schön zu wissen. UPX hab ich von hier: idrix.fr/Root/content/category/7/26/49/
    C++
  • Läuft auch auf meinem Mac Pro einwandfrei. Ich werd aber wohl (bis du das mehr ausgebaut hast :D ) weiter iStat Menus 2 (war noch kostenlos) benutzen, ich bevorzuge die Anzeige der momentanen Last aller Kerne.
    Widgetschmie.de • Life is too short for gadgets
  • Pascal schrieb:

    Läuft auch auf meinem Mac Pro einwandfrei. Ich werd aber wohl (bis du das mehr ausgebaut hast :D ) weiter iStat Menus 2 (war noch kostenlos) benutzen, ich bevorzuge die Anzeige der momentanen Last aller Kerne.

    Ich bekomme die kostenlose Version von iStat Menus 2 nicht mehr installiert, darum überhaupt ;)
    Die Last von allen Kernen wird im Prinzip angezeigt, also 100% heisst alle Kerne voll ausgelastet, bei zwei Kernen heisst dann 50% entsprechend, dass nur ein Kern voll ausgelastet ist. Die genaue CPU-Affinität der Threads zusammen zu sammeln ist etwas nervig, und so tut es ja erstmal.
    C++
  • zerm schrieb:

    Ich bekomme die kostenlose Version von iStat Menus 2 nicht mehr installiert, darum überhaupt ;)
    Die Last von allen Kernen wird im Prinzip angezeigt, also 100% heisst alle Kerne voll ausgelastet, bei zwei Kernen heisst dann 50% entsprechend, dass nur ein Kern voll ausgelastet ist. Die genaue CPU-Affinität der Threads zusammen zu sammeln ist etwas nervig, und so tut es ja erstmal.

    Hast du das DMG von iStat Menus 2 aber noch? Kann ich dir sonst gerne schicken, falls das das Problem ist. ;)

    Stimmt, die Anzahl ausgelasteter Kerne könnte man so abschätzen – ist bei 16 virtuellen Kernen aber etwas schwierig, ein Kern zu 100% ausgelastet, die anderen fast-idle sieht dann bei mir so aus wie angehängt. :)
    Widgetschmie.de • Life is too short for gadgets
  • Pascal schrieb:

    zerm schrieb:

    Ich bekomme die kostenlose Version von iStat Menus 2 nicht mehr installiert, darum überhaupt ;)
    Die Last von allen Kernen wird im Prinzip angezeigt, also 100% heisst alle Kerne voll ausgelastet, bei zwei Kernen heisst dann 50% entsprechend, dass nur ein Kern voll ausgelastet ist. Die genaue CPU-Affinität der Threads zusammen zu sammeln ist etwas nervig, und so tut es ja erstmal.

    Hast du das DMG von iStat Menus 2 aber noch? Kann ich dir sonst gerne schicken, falls das das Problem ist. ;)

    Stimmt, die Anzahl ausgelasteter Kerne könnte man so abschätzen – ist bei 16 virtuellen Kernen aber etwas schwierig, ein Kern zu 100% ausgelastet, die anderen fast-idle sieht dann bei mir so aus wie angehängt. :)

    Ich hatte das DMG, wollte trotzdem irgendwie nicht. Vielleicht, weil ich mal die neue Shareware-Version installiert hatte..Aber mein eigenes reicht mir jetzt ja erstmal.

    Aber bei 16 Kernen, stimmt, das wird unübersichtlich ;) Ich hab ja hier nur zwei, da passt das
    C++
  • Amin Negm-Awad schrieb:

    Ich verstehe nicht, warum der View die Daten abholt und speichert. Mach das doch im App-Delegate, dann kannst du mit dem View auch gleich ganz andere Sachen darstellen lassen.

    Ja, hatte ich auch schon drüber nachgedacht. Auch wegen Trennung von Logik & Darstellung.
    Aber:
    Die Darstellung als Balken ist ja nunmal Sache des Views, daher muss er auch die "Datenstruktur" (char[]) selber halten, für die Balken.
    Ich könnte also ein "getCurrentLoad" ans App-Delegate auslagern, der dann von meinem Timer im View gerufen wird.
    Oder ich lagere den Timer auch noch aus. Dann muss ich aber immer das View informieren und hab noch einen extra Aufruf.
    Wäre aber gar nicht so schlimm..Mh...

    So oder so, den Kern hatte ich in ca. 1h runtergehackt, darum ist es eh nicht so schön - und es läuft hier immernoch brav im Hintergrund und zeichnet schön :)
    C++
  • AAAAAAAAAAAAAAAAAhhhhhhh

    ich hab jetzt (bzw. wollte...) noch so eine "top" mässige liste einbauen, damit man alle Prozesse sehen kann.
    Das dumme ist nur, das Apple die dokumentierten Felder einfach nicht füllt. Scheinbar brauche ich wieder task_for_pid dazu, was ich wieder nur in einer signierten App bekomme. Oder ich bau wieder ein externen tool. Oder ich parse die Ausgabe von "ps", was mir aber echt zu doof ist. Was das nur immer soll?

    EDIT
    Ich muss sagen, ich bin grade mal echt begeistert von CF/Cocoa/ObjC kram.
    Hab jetzt alles in ein Tool ausgelagert (komplett in Objective-C) und mittels NSMachPort kann ich jetzt aus meiner GUI Anwendung einfach Methoden an/aus dem Tool rufen und sogar komplexe Objekte zurückbekommen. Macht ja richtig Spass, hier zahlt sich auch endlich mal dies ganze dynamische von ObjC aus! :D
    C++

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von zerm ()