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);
  • 相关阅读:
    springboot系列六、springboot配置错误页面及全局异常
    一行代码完成 Java的 Excel 读写--easyexcel
    Docker搭建Portainer可视化界面
    使用spring-boot-admin对spring-boot服务进行监控
    SpringBoot集成JWT实现权限认证
    安装Docker
    Java的 Excel 读写--easyexcel
    SpringBoot 配置文件提示功能
    Mysql数据库中获取时间
    javascript-观察者模式
  • 原文地址:https://www.cnblogs.com/itrena/p/5938285.html
Copyright © 2011-2022 走看看