Может ли кто-нибудь дать ясное объяснение значения значений SIZE и RSS, которые мы получаем от prstat в Solaris?Значение значений SIZE и RSS в выход prstat
Я написал тестовое приложение на C++, которое выделяет память new[]
, заполняет его и освобождает его delete[]
.
Как я понял, значение SIZE должно быть связано с тем, насколько виртуальная память была «зарезервирована» процессом, то есть память «malloced» или «newed».
Эта память не суммируется в значении RSS, если я не использую ее (заполнение некоторыми значениями). Но тогда, даже если я освобожу память, RSS не упадет.
Я не понимаю, какую семантику я могу правильно присвоить этим двум значениям.
Не забывайте, однако, что в зависимости от размера распределения он возвращается к нормальной sbrk поведение, то есть на моем ящике Solaris, если я буду umem, как описано, и выделите куски размером менее 16k, он не освободит память на бесплатной, но она будет на кусках> 16k. – ScaryAardvark 2012-05-25 08:25:44