Czy ktoś może wyjaśnić znaczenie wartości SIZE i RSS, które otrzymujemy z prstat w systemie Solaris?Znaczenie SIZE i wartości RSS w wyjściu prstat
Napisałem testową aplikację C++, która przydziela pamięć za pomocą new[]
, wypełnia ją i zwalnia z pomocą delete[]
.
Jak rozumiem, wartość SIZE powinna być związana z ilością pamięci wirtualnej, która została "zarezerwowana" przez proces, czyli pamięcią "malloced" lub "newed".
Ta pamięć nie sumuje się w wartości RSS, chyba że naprawdę go użyję (wypełniając niektóre wartości). Ale nawet jeśli uwolnię pamięć, RSS nie spadnie.
Nie rozumiem, co semantyczne mogę poprawnie przypisać do tych 2 wartości.
Nie zapominajmy jednak, że w zależności od wielkości alokacji będzie powrócić do normalnego sbrk Zachowanie, czyli na moim polu solaris, jeśli tak jak opisałem i przydzielałem porcje mniejsze niż 16k, nie zwolni to pamięci na wolnej wolnej woli, ale na porcjach> 16k. – ScaryAardvark