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;
|
|||
|
}
|
|||
|
|