Сведения о вопросе

ЧОВИД

20:43, 10th August, 2020

Теги

Что означает "VM Size" в Диспетчере задач Windows?

Просмотров: 512   Ответов: 5

Виртуальная память с точки зрения размера компьютера-это

[способ заставить программу] думать так имеет большой спектр смежных адреса; но в действительности части его в настоящее время используется разбросаны вокруг RAM, и неактивные части являются сохранено в файле на диске. ( Википедия )

Я бы интерпретировал размер виртуальной машины в диспетчере задач Windows либо как общее адресируемое пространство виртуальной памяти, либо как объем памяти, который процесс в настоящее время использует в виртуальном пространстве памяти.

Но в Диспетчере задач размер WM во многих случаях меньше, чем использование Mem, что должно быть равно количеству RAM, которое использует процесс. Поэтому я полагаю, что размер WM означает что-то другое?



  Сведения об ответе

$DOLLAR

03:44, 1st August, 2020

Это общая сумма всех частных (не общих) байт, выделенных этим процессом, независимо от того, находится ли он в настоящее время в физической памяти или нет.

См. также вводное руководство по управлению памятью Windows или статью Commit Charge в Википедии

Для разработчика, наблюдающего за состоянием процесса таким образом, я бы рекомендовал установить SysInternals Process Explorer и использовать его вместо Диспетчера задач по умолчанию. Это значение в нем называется "Private Bytes".


  Сведения об ответе

COOL

04:24, 21st August, 2020

Каков правильный ответ о размере виртуальной машины?

  • В Кодировании Ужаса

    Сколько из менее часто используемой памяти процессов было выгружено на диск.

  • В комменте кодирования ужас

    Вы ошибаетесь насчет размера виртуальной машины. Это общая сумма всех частных (не общих) байт, выделенных этим процессом, независимо от того, находится ли он в настоящее время в физической памяти или нет. Это лучшее значение для отслеживания того, есть ли у вас утечка памяти, чем 'Mem Usage'. Это же значение доступно в мониторе производительности как "Process: Private Bytes".

  • В MSDN году

    Размер Виртуальной Памяти : Объем виртуальной памяти или адресного пространства, выделенный процессу.

Я путаю, что такое коррент.


  Сведения об ответе

screen

13:49, 22nd August, 2020

Объем памяти, отображаемый в адресное пространство этого процесса. Это может включать сопоставления общей памяти.

В процессе будут существовать разделы пространства памяти для каждого общего объекта (DLL), который является его частью, а также некоторая память для стека и области, выделенные самим процессом.

Например, глядя на карту памяти команды cat в моей системе, я могу видеть ее сопоставления памяти. В этом случае я использую cat /proc/self/maps для исследования самого процесса cat. В его виртуальную память помещается сам двоичный файл, некоторая куча, информация locale, libc (с различными флагами разрешений), ld.so (динамический компоновщик), стек, разделы vdso и vsyscall и некоторые анонимные сопоставления (сопоставленные страницы без резервного файла).

00400000-00408000         r-xp      /bin/cat
00607000-00608000         rw-p      /bin/cat
008ac000-008cd000         rw-p      [heap]
7fbd54175000-7fbd543cf000 r--p      /usr/lib/locale/locale-archive
7fbd543cf000-7fbd54519000 r-xp      /lib/libc-2.7.so
7fbd54519000-7fbd54718000 ---p      /lib/libc-2.7.so
7fbd54718000-7fbd5471b000 r--p      /lib/libc-2.7.so
7fbd5471b000-7fbd5471d000 rw-p      /lib/libc-2.7.so
7fbd5471d000-7fbd54722000 rw-p
7fbd54722000-7fbd5473e000 r-xp      /lib/ld-2.7.so
7fbd5491d000-7fbd5491f000 rw-p 
7fbd5493a000-7fbd5493d000 rw-p
7fbd5493d000-7fbd5493f000 rw-p      /lib/ld-2.7.so
7fff5c929000-7fff5c93e000 rw-p      [stack]
7fff5c9fe000-7fff5c9ff000 r-xp      [vdso]
ffffffffff600000-ffffffffff601000 r-xp    [vsyscall]

Для каждого сопоставления вычтите начальный адрес из конечного адреса, чтобы определить его размер, например строку [stack] : 0x7fff5c9ff000 - 0x7fff5c9fe000 = 0x1000 . В десятичной системе счисления 4096 байт-это стек 4 kiB.

Если вы сложите все эти цифры, то получите размер виртуальной памяти процесса (VM).

VM размер не является надежным способом определить, сколько памяти использует процесс. Например, в физической памяти будет только одна копия каждой из карт /lib/libc-2.7.so , доступных только для чтения, независимо от того, сколько процессов ее используют.


  Сведения об ответе

$DOLLAR

22:32, 28th August, 2020

Как насчет сообщения ужасов кодирования, чтобы ответить на этот вопрос: http://www.codinghorror.com/blog/archives/000393.html

"Размер виртуальной машины: сколько из менее часто используемой памяти процессов было выгружено на диск."


  Сведения об ответе

lats

11:56, 16th August, 2020

Я не могу видеть размер VM в диспетчере задач Windows, что такое Gold имеет размер VM в своем диспетчере задач - вы это имеете в виду? в этом случае я полагаю, что это относится к общей сумме, доступной для VM


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться