View Full Version : [c++] CPU, RAM , HD sotto win
Rubberick
14-02-2008, 16:32
Ciao ragazzi, avrei bisogno di un piccolo exe che mi restituisca sotto stdout occupazione % cpu su un secondo, ram occupata se poss in byte altrimenti babbeh :| in mb, e lista delle partizioni con bytes occupati e liberi..
Ho girato i vari programmini della sysinternals, windows resource kit, etc...
:D se nn e' troppo difficile potrei anche scrivermelo da me...
mi sapreste consigliare un exe gia' pronto se esiste, oppure quali librerie (documentaz) usare e una possibile ide da utilizzare?
Fino ad oggi ho usato dev c++... se va bene quella posso riscaricarla ed utilizzare quella =) oppure non so un altra...
In C# sono una manciata di righe.
System.Diagnostic.PerformanceCounterCategory e PerformanceCounter
Puoi avere tutti i valori restituiti dal comando perfmon di Windows.
Rubberick
14-02-2008, 17:03
che ide mi consigli di utilizzare per scrivere in c#??
posso usare una cosa tipo eclipse c?
Io ti consiglierei Visual Studio Express, che e' free.
Rubberick
15-02-2008, 00:10
alternative non m$ ce ne sono o e' proprio unicamente un linguaggio m$?
Il linguaggio e' Microsoft, ma ci sono compilatori anche sotto Linux (progetto Mono).
In ogni caso, qualsiasi linguaggio di programmazione tu usassi, dovresti comunque chiedere informazioni al sistema operativo della Microsoft, al piu' mediante funzioni di libreria della SDK, che sempre Microsoft le ha inventate.
Il non voler usare qualcosa della Microsoft non e' possibile per questo problema.
A questo punto usa i mezzi che ti fanno risolvere il problema piu' in fretta.
A meno che il problema non fosse solo relativamente a Linux, e allora ho capito male.
Ma se cosi' fosse non penso che ci sia uno strato unificato di libreria che per qualsiasi Linux ti possa dare i risultati che cerchi.
Rubberick
15-02-2008, 10:10
no, e' che sto scrivendo un software informativo che mi dia info sulla macchina sia sotto linux che sotto win, quindi servono entrambe... + info riesco a grabbare meglio e' =)
Un singolo eseguibile che possa funzionare cosi' com'e' sia sotto windows che sotto Linux lo vedo difficile.
Un sorgente che possa funzionare compilato sia sotto Windows che sotto Linux, e che possa darti quelle informazioni forse si', ma p.es. non penso tu possa farlo in modo indipendente per la memoria occupata, dato che questa informazione devi chiederla al sistema operativo stesso.
% cpu al secondo di nuovo dovrai chiedere qualcosa al sistema operativo, non mi viene in mente nulla di indipendente.
In pratica anche questo sorgente sarebbero tanti sorgenti fusi insieme
switch(SO)
{
case Linux:.... break;
case Window:.... break;
}
Ma che poi compilato funzionerebbe solo sotto windows oppure sotto linux.
Non penso che neppure Mono possa aiutarti per questo intento perche' non mi risulta che abbiano coperto tutta la system.diagnostic, e in modo specifico penso non abbiano coperto i performancecounter.
Qui un messaggio preso dalla board di Mono, di qualcuno che ha gia' pensato di fare quello che vorresti fare tu, usando Mono (e quindi senza lo switch di prima).
I am currently porting an application from .NET to Mono 0.31 and I see that the System.Diagnostics.PerformanceCounter class is mostly unimplemented. My application needs to be able to monitor resource allocation and usage (it is a Grid engine); is there a way to do this in Mono w/o using System.Diagnostics.PerformanceCounter or do I need to start the implemetation of this class myself? And if I need to do it how would you suggest it should be done (I am not familiar with the performance monitoring aspects of the linux kernel and the native libraries which would be used to do the monitoring).
Nessuna risposta...
Rubberick
15-02-2008, 11:19
no, ma non sto scrivendo un singolo programma...
sto scrivendo un codice in php che mi tracci delle info sulle varie macchine dove lo installo e a seconda dell'os si deve interfacciare ovviamente in qualche modo... x linux ho gia' risolto tutto, mi manca recuperare cpu ram e hd su win =)
solo quello, sto risolvendo penso con systeminfo
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.