Re[17]: Память и .Net
От: ie Россия http://ziez.blogspot.com/
Дата: 05.05.06 03:43
Оценка: -1
Здравствуйте, alexeiz, Вы писали:

A>OK. Видно, что vadump нам не соврал. Действительно GC heap в данный момент отнимает ~8.4MB памяти. Однако, не весь GC Heap занят живыми объектами. Какая-то его часть свободна. Это можно узнать, пройдя по всем объектам в хипе:

A>
A>0:004> !dumpheap -stat
A>total 232157 objects
A>Statistics:
A>      MT    Count    TotalSize Class Name
A>7b4c3800        1           12 System.Windows.Forms.DataGridViewColumnCollection+ColumnOrderComparer
A>7b47ef7c        1           12 System.Windows.Forms.SR
A>…
A>7b46d674    40543       648688 System.Windows.Forms.PropertyStore
A>7b4c7f0c    30006       960192 System.Windows.Forms.DataGridViewTextBoxCell
A>7b49bf58    30176       967352 System.Windows.Forms.PropertyStore+IntegerEntry[]
A>7b49c090    30260       973380 System.Windows.Forms.PropertyStore+ObjectEntry[]
A>00152a70    16158      1291624      Free
A>790fa3e0    36516      1829392 System.String
A>Total 232157 objects
A>

A>Теперь понятно, что свободно у нас около 1.3MB. Это та память, которую GC может в принципе отдать OS, но он этого не сделает, потому как по сравнению с полным размером GC Heap (8.4MB) это очень мало. Для compacting GC нормально иметь вдвое больше памяти, чем требуется для живых объектов.

Меня больше привлек такой момент: Free + System.String = 3121016 — что как раз таки показывает прожорливость System.Windows.Forms, а отнюдь не прожорливость GC.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Превратим окружающую нас среду в воскресенье.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.