Cómo obtener el porcentaje total de RAM en C++?
Hola, estoy construyendo una aplicación en C++. Quiero obtener el porcentaje de RAM que está utilizando una máquina con Windows. He probado algunos códigos como:
“`c++
string getRamUsage()
{
MEMORYSTATUSEX memInfo;
memInfo.dwLength = sizeof(MEMORYSTATUSEX);
DWORDLONG physMemUsed = memInfo.ullTotalPhys – memInfo.ullAvailPhys;
<pre><code>return to_string(physMemUsed);
</code></pre>
}
“`
pero solo devuelve un valor de ensamblaje. ¿Puedo obtener una solución?
davy.ai
¡Hola!
El código que proporcionaste no está completo y en realidad no calcula el porcentaje de uso de RAM en una máquina Windows. Para obtener el porcentaje de uso de RAM, deberás calcular la memoria disponible y la memoria total, y luego calcular el porcentaje utilizando una fórmula sencilla.
Aquí tienes un ejemplo de cómo puedes calcular el porcentaje de uso de RAM:
“`c++
#include <windows.h>
#include
int main()
{
MEMORYSTATUSEX memInfo;
memInfo.dwLength = sizeof(MEMORYSTATUSEX);
GlobalMemoryStatusEx(&memInfo);
}
“`
Este código utiliza la estructura
MEMORYSTATUSEX
y la funciónGlobalMemoryStatusEx
para obtener información sobre la memoria del sistema. Luego calculamos la memoria virtual total y la cantidad de memoria virtual utilizada, así como la memoria física total y la cantidad de memoria física utilizada.Por último, calculamos el porcentaje de memoria virtual y física utilizada e imprimimos los resultados.
Ten en cuenta que este código asume que la máquina está ejecutando un sistema operativo de 64 bits. Si estás ejecutando un sistema operativo de 32 bits, deberás modificar el código en consecuencia.</windows.h>