Насколько я понимаю, в Linux «используемая» память делится на «активную» и «неактивную».
Активная память - это память, которая в настоящее время выделена для процесса и используется им.
Неактивна память, которая была выделена процессу, но больше не используется им (она была свободна ()d). Распределитель помещает эту память на одну сторону для последующего использования, но не очищает ее. Если те же данные, которые находятся в этом блоке памяти, запрашиваются снова, он просто перераспределяет этот блок памяти процессу. Если запрашивается блок памяти и не остается «чистой» памяти, он начинает перераспределять эту «грязную» память.
Изучение /proc /meminfo может показать вам, сколько вашей «использованной» памяти активно и сколько неактивно.