/ / Как мога да получа текущата размера на паметта на процесите в Linux, използвайки C / C ++ системни повиквания? - c ++, c, управление на паметта, операционна система, памет на хапчета

Как мога да получа текущия размер на паметта на куп от процес в Linux, използвайки C / C ++ системни повиквания? - c ++, c, управление на паметта, операционна система, памет на хапчета

Работя върху софтуерна библиотека, която постоянно може да следи размерите на паметта на програмите, написани в C / C ++.

Това, което искам да направя, е както следва.

void check_memory(){

heap_size = get_process_heap_size(.....);

if(heap_size>=upper_bound){

//do something to reduce the heap size

heap_size = get_process_heap_size(.....);
}
}

Има ли някакво системно обаждане в C / C ++, което е еквивалентно на get_process_heap_size () в кода по-горе?

Отговори:

0 за отговор № 1

Не знам дали има директно системно обажданекойто ви дава подробности за паметта, но ако сте на Linux, можете да прочетете и анализирате протокола / proc / (pid на вашия процес) / статус, за да получите необходимите данни за паметта