sysinfolinuximpl.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // #include "sysinfolinuximpl.h"
  2. //// #include <sys/sysinfo.h>
  3. // #include <sys/types.h>
  4. // SysInfoLinuxImpl::SysInfoLinuxImpl() : SysInfo(), mCpuLoadLastValues() {}
  5. // void SysInfoLinuxImpl::init() { mCpuLoadLastValues = cpuRawData(); }
  6. // double SysInfoLinuxImpl::cpuLoadAverage() {
  7. // QVector<qulonglong> firstSample = mCpuLoadLastValues;
  8. // QVector<qulonglong> secondSample = cpuRawData();
  9. // mCpuLoadLastValues = secondSample;
  10. // double overall = (secondSample[0] - firstSample[0]) +
  11. // (secondSample[1] - firstSample[1]) +
  12. // (secondSample[2] - firstSample[2]);
  13. // double total = overall + (secondSample[3] - firstSample[3]);
  14. // double percent = (overall / total) * 100.0;
  15. // return qBound(0.0, percent, 100.0);
  16. // }
  17. // double SysInfoLinuxImpl::memoryUsed() {
  18. // struct sysinfo memInfo;
  19. // sysinfo(&memInfo);
  20. // qulonglong totalMemory = memInfo.totalram;
  21. // totalMemory += memInfo.totalswap;
  22. // totalMemory *= memInfo.mem_unit;
  23. // qulonglong totalMemoryUsed = memInfo.totalram - memInfo.freeram;
  24. // totalMemoryUsed += memInfo.totalswap - memInfo.freeswap;
  25. // totalMemoryUsed *= memInfo.mem_unit;
  26. // double percent = (double)totalMemoryUsed / (double)totalMemory * 100.0;
  27. // return qBound(0.0, percent, 100.0);
  28. // }
  29. // QVector<qulonglong> SysInfoLinuxImpl::cpuRawData() {
  30. // QFile file("/proc/stat");
  31. // file.open(QIODevice::ReadOnly);
  32. // QByteArray line = file.readLine();
  33. // file.close();
  34. // qulonglong totalUser = 0, totalUserNice = 0, totalSystem = 0, totalIdle =
  35. // 0; std::sscanf(line.data(), "cpu %llu %llu %llu %llu", &totalUser,
  36. // &totalUserNice, &totalSystem, &totalIdle);
  37. // QVector<qulonglong> rawData;
  38. // rawData.append(totalUser);
  39. // rawData.append(totalUserNice);
  40. // rawData.append(totalSystem);
  41. // rawData.append(totalIdle);
  42. // return rawData;
  43. //}