Я пытаюсь получить доступ к High Memory и High Free Memory, чтобы я мог узнать, какой процент свободного места занимает пользовательская память.
Когда я пробую API sysinfo, я получаю точную информацию об общем объеме ОЗУ и общем объеме свободной ОЗУ. то есть
if(sysinfo(&l_sys_info) == 0)
{
//Print Different Fields here
return;
}
Поля
unsigned long totalhigh; /* Total high memory size */
unsigned long freehigh; /* Available high memory size */
всегда 0.
Документация для sysinfo находится здесь: http://man7.org/linux/man-pages/man2/sysinfo.2.html
Поэтому я попытался прочитать те же значения из файла proc / meminfo, и я не могу найти поля:
HighTotal:
HighFree: Highmem вся память выше ~ 860 МБ физической памяти
Области высоких тем предназначены для использования программами пользовательского пространства, или
для кэша страниц. Ядро должно использовать трюки для доступа
эта память, делая его медленнее, чем доступ lowmem.
Документацию к proc / meminfo можно найти здесь
http://man7.org/linux/man-pages/man5/proc.5.html
Эти поля отсутствуют в определенных версиях ядра? или определенные ароматы?
Я получил тот же результат для версий ядра Linux 3.0.38 и 2.6.32-55.
Задача ещё не решена.