Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Dupa 20 ani de facultate, am uita...
 Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebui sa vindem imobiliarele ...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 

Determinare CPU use, Physical Memory currently used, Total Physical Memory (RAM)

- - - - -
  • Please log in to reply
3 replies to this topic

#1
AdrianAdi11

AdrianAdi11

    New Member

  • Grup: Junior Members
  • Posts: 19
  • Înscris: 02.09.2016
Salut,

Incerc sa-mi fac un programel in C++ care sa determine lucrurile de mai sus si de ce nu si altele.
Am gasit ceva exemple pe stackoverflow, de exenplu:
CPU currently used:
#include "windows.h"
#include<iostream>
using namespace std;
static ULARGE_INTEGER lastCPU, lastSysCPU, lastUserCPU;
static int numProcessors;
static HANDLE self;
void init() {
SYSTEM_INFO sysInfo;
FILETIME ftime, fsys, fuser;
GetSystemInfo(&sysInfo);
numProcessors = sysInfo.dwNumberOfProcessors;
GetSystemTimeAsFileTime(&ftime);
memcpy(&lastCPU, &ftime, sizeof(FILETIME));
self = GetCurrentProcess();
GetProcessTimes(self, &ftime, &ftime, &fsys, &fuser);
memcpy(&lastSysCPU, &fsys, sizeof(FILETIME));
memcpy(&lastUserCPU, &fuser, sizeof(FILETIME));
}
long double getCurrentValue() {
FILETIME ftime, fsys, fuser;
ULARGE_INTEGER now, sys, user;
long double percent;
GetSystemTimeAsFileTime(&ftime);
memcpy(&now, &ftime, sizeof(FILETIME));
GetProcessTimes(self, &ftime, &ftime, &fsys, &fuser);
memcpy(&sys, &fsys, sizeof(FILETIME));
memcpy(&user, &fuser, sizeof(FILETIME));
percent = (sys.QuadPart - lastSysCPU.QuadPart) +
  (user.QuadPart - lastUserCPU.QuadPart);
percent /= (now.QuadPart - lastCPU.QuadPart);
percent /= numProcessors;
lastCPU = now;
lastUserCPU = user;
lastSysCPU = sys;
return percent * 100;
}
int main()
{
init();
cout << getCurrentValue();
getchar();
return 0;
}

Insa nici nu prea functioneaza (da inf) si as vrea sa incerc eu de la 0.
Insa am cautat pe net dar nu prea am gasit referinte pentru asa ceva. Ma poate indruma cineva cu o carte, pdf, site orice va rog?
Multumesc.

#2
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003
Ai in WinAPI doua mari capitole din care scoti ce vrei de la sistem:
System Information
Windows Management Instrumentation

Edited by neagu_laurentiu, 26 September 2016 - 11:35.


#3
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,239
  • Înscris: 24.02.2007
percent /= (now.QuadPart - lastCPU.QuadPart);

now si lastCPU au aceeasi valoare (ceri prea repede timpul a 2-a oara), si ajungi sa imparti la 0.

#4
AdrianAdi11

AdrianAdi11

    New Member

  • Grup: Junior Members
  • Posts: 19
  • Înscris: 02.09.2016

View Postdani.user, on 26 septembrie 2016 - 20:40, said:

percent /= (now.QuadPart - lastCPU.QuadPart);

now si lastCPU au aceeasi valoare (ceri prea repede timpul a 2-a oara), si ajungi sa imparti la 0.

Da cred că acolo era problema, acum nu-mi da infinit îmi dă 0 dar am să mă uit puţin de la ce. :D

View Postneagu_laurentiu, on 26 septembrie 2016 - 11:30, said:

Ai in WinAPI doua mari capitole din care scoti ce vrei de la sistem:
System Information
Windows Management Instrumentation

Mersi :)

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate