102 lines
2.6 KiB
C++
102 lines
2.6 KiB
C++
/*Ковалев Р.Е. 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;
|
||
}
|
||
|