Розмір набору резидента процесу - це об'єм пам'яті, що належить йому, і наразі присутній (резидент) в оперативній пам'яті (справжня ОЗУ, не замінена або іншим чином не резидент).
Наприклад, якщо процес виділяє шматок пам'яті (скажімо, 100Mb) і використовує його активно (читає / записує в нього), розмір його резидента буде приблизно 100Mb (плюс накладні витрати, сегмент коду тощо). Якщо після цього процес на деякий час перестане використовувати цю пам'ять (але не випускає), ОС може вирішити поміняти шматки цієї пам'яті на обмін, щоб звільнити місце для інших процесів (або кешу). Розмір набору резидентів потім зменшиться на суму, яку ядро замінило. Якщо процес прокинеться і почне повторно використовувати цю пам'ять, ядро перезавантажить дані з підкачки, і розмір набору резидента знову підніметься.
ru_maxrss
Поле struct rusage
є «високим водяним знаком» для резидентів встановленого розміру. Він вказує на пікове використання оперативної пам’яті для цього процесу (при використанні RUSAGE_SELF
).
Ви можете обмежити розмір встановленого резидента процесу, щоб уникнути того, щоб одне додаток «з’їдало» всю оперативну пам’ять у вашій системі та змушувало інші програми змінюватись (або повністю виходити з ладу поза умовами пам’яті).
ru_maxrss
знаходиться в байтах на машинах mac / BSD.