zoukankan      html  css  js  c++  java
  • 获取系统信息(CPU、内存等)

    简述

    获取计算机CPU、主板、内存、硬盘、网卡这些信息,Qt中没有相应的处理,所以需要根据平台来做差异化处理。也许Qt为了跨平台,没有提供与操作系统和硬件密切相关的一些功能(如内存、CPU、硬盘等相关信息)。

    获取CPU信息

    Linux

    很简单,直接读取这几个文件就好了。

    /proc/cpuinfo     处理器信息 
    /proc/meminfo     物理内存信息 
    /proc/vmstat       虚拟内存信息 

    Windows

    调用相应的Win API来获取,GetSystemInfo用于返回关于当前系统的信息。

    SYSTEM_INFO systemInfo;
    GetSystemInfo(&systemInfo);
    
    qDebug() << QStringLiteral("处理器掩码:%1").arg(systemInfo.dwActiveProcessorMask);
    qDebug() << QStringLiteral("处理器个数:%1").arg(systemInfo.dwNumberOfProcessors);
    qDebug() << QStringLiteral("处理器分页大小:%1").arg(systemInfo.dwPageSize);
    qDebug() << QStringLiteral("处理器类型:%1").arg(systemInfo.dwProcessorType);
    qDebug() << QStringLiteral("最大寻址单元:") << systemInfo.lpMaximumApplicationAddress;
    qDebug() << QStringLiteral("最小寻址单元:") << systemInfo.lpMinimumApplicationAddress;
    qDebug() << QStringLiteral("处理器等级:%1").arg(systemInfo.wProcessorLevel);
    qDebug() << QStringLiteral("处理器版本:%1").arg(systemInfo.wProcessorRevision);

    获取内存信息

    #define MB (1024 * 1024)
    MEMORYSTATUSEX statex;
    statex.dwLength = sizeof(statex);
    GlobalMemoryStatusEx(&statex);
    qDebug() << QStringLiteral("物理内存使用率:%1").arg(statex.dwMemoryLoad);
    qDebug() << QStringLiteral("物理内存总量:%1").arg(statex.ullTotalPhys / MB);
    qDebug() << QStringLiteral("可用的物理内存:%1").arg(statex.ullAvailPhys / MB);
    qDebug() << QStringLiteral("系统页面文件大小:%1").arg(statex.ullTotalPageFile / MB);
    qDebug() << QStringLiteral("系统可用页面文件大小:%1").arg(statex.ullAvailPageFile / MB);
    qDebug() << QStringLiteral("虚拟内存总量:%1").arg(statex.ullTotalVirtual / MB);
    qDebug() << QStringLiteral("可用的虚拟内存:%1").arg( statex.ullAvailVirtual / MB);
    qDebug() << QStringLiteral("保留(值为0):%1").arg(statex.ullAvailExtendedVirtual / MB);
  • 相关阅读:
    colemak,你用了吗?
    DELPHI一个对付内存汇漏的办法和技巧
    使用for in 循环数据集
    今天差点被断电搞死了,幸好IDE的备份救了我
    为什么继续选择DELPHI?
    无缘DELPHI的BUG
    DELPHI DOUBLE不解之迷
    失败的大牛事件委托,与我的委托
    2017-02-08 01:19:09 Scrapy: pk5_mylist
    2016-09-02 16:50:15 webqq 协议分析
  • 原文地址:https://www.cnblogs.com/itrena/p/5938285.html
Copyright © 2011-2022 走看看