Memorator/Memorator.cpp

102 lines
2.6 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*Ковалев Р.Е. 2021. rekovalev.site*/
#include "Memorator.h"
/*Статическое поле класса Memorator*/
#ifdef __linux__
sysinfo Memorator::info;
#endif
/*Заполняет поле с информацией класса Memorator данными от системы*/
void Memorator::ask()
{
#ifdef __linux__
sysinfo(&info);
#endif
}
/*Возвращает общее кол-во памяти в байтах*/
unsigned long Memorator::getTotalRam_B()
{
#ifdef __linux__
ask();
return info.totalram;
#endif
}
/*Возвращает общее кол-во памяти в килобайтах*/
unsigned long Memorator::getTotalRam_KB()
{
return getTotalRam_B()/1000;
}
/*Возвращает общее кол-во памяти в мегабайтах*/
unsigned long Memorator::getTotalRam_MB()
{
return getTotalRam_KB()/1000;
}
/*Возвращает общее кол-во свободной памяти в байтах*/
unsigned long Memorator::getFreeRam_B()
{
#ifdef __linux__
ask();
return info.freeram;
#endif
}
/*Возвращает общее кол-во свободной памяти в килобайтах*/
unsigned long Memorator::getFreeRam_KB()
{
return getFreeRam_B()/1000;
}
/*Возвращает общее кол-во свободной памяти в мегабайтах*/
unsigned long Memorator::getFreeRam_MB()
{
return getFreeRam_KB()/1000;
}
/*Возвращает общее кол-во памяти подкачки в байтах*/
unsigned long Memorator::getTotalSwap_B()
{
#ifdef __linux__
ask();
return info.totalswap;
#endif
}
/*Возвращает общее кол-во памяти подкачки в килобайтах*/
unsigned long Memorator::getTotalSwap_KB()
{
return getTotalSwap_B()/1000;
}
/*Возвращает общее кол-во памяти подкачки в мегабайтах*/
unsigned long Memorator::getTotalSwap_MB()
{
return getTotalSwap_KB()/1000;
}
/*Возвращает общее кол-во свободной памяти подкачки в байтах*/
unsigned long Memorator::getFreeSwap_B()
{
#ifdef __linux__
ask();
return info.freeswap;
#endif
}
/*Возвращает общее кол-во свободной памяти подкачки в килобайтах*/
unsigned long Memorator::getFreeSwap_KB()
{
return getFreeSwap_B()/1000;
}
/*Возвращает общее кол-во свободной памяти подкачки в мегабайтах*/
unsigned long Memorator::getFreeSwap_MB()
{
return getFreeSwap_KB()/1000;
}