cat /proc/2318184/status | grep -P '^Rss', где 2318184 является PID'ом процесса, можно гарантированно сказать, что процесс занимает как минимум RssAnon оперативной памяти и как максимум RssAnon+RssFile оперативной памяти (насколько знаю, в RssFile также могут попадать shared-страницы), а также использует RssShmem объём в качестве разделяемой оперативной памяти (т. е. данные страницы оперативной памяти потенциально могут также использоваться другими приложениями в ОС). впрочем, в случае контейнеризации приложения в докере вполне возможно, что все три значения действительно могут быть просуммированы, не знаю, по изоляции shared memory с докером мне сказать нечего.
винда не прибавляет 189 мб дотнета к объему проги, ибо куча других компонентов и программ винды использует тот же дотнет и 189 мб оболочки расшарены на это все хозяйство.
Особенности замераВасилий Банников, прав. в винде, возможно паровоз зависимостей дотнет уже в оперативке!
namespace TestApp
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Console.ReadLine();
}
}
}root@delakey:~# ps -C dotnet -o pid,user,rss,vsz,comm
PID USER RSS VSZ COMMAND
216966 root 29004 273223856 dotnet
216967 root 29412 273223856 dotnet
root@delakey:~#Резидентная память (RSS) — это память которую процесс занял, то есть что-то сохранил в виртуальную память. Именно резидентная память показывает сколько процесс потребляет физической памяти.
VSZ - это сокращение от Virtual Memory Size (размер виртуальной памяти). Это общий объем памяти, к которому процесс может гипотетически получить доступ.