Net framework 5, а также среды Visual Studio 2012 и C#


Windows сообщает о нехватке памяти



Download 6,27 Mb.
Pdf ko'rish
bet418/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   414   415   416   417   418   419   420   421   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

Windows сообщает о нехватке памяти. 
CLR использует функции Win32 
Cre-
ateMemoryResourceNotification
и 
QueryMemoryResourceNotification 
для 


569
Поколения
контроля состояния памяти системы. Если Windows сообщает о недостаточном 
объеме свободной памяти, CLR запускает уборку мусора, чтобы избавиться от 
неиспользуемых объектов и сократить размер рабочего набора процесса.
‰
Выгрузка домена приложения.
При выгрузке домена приложения CLR вы-
полняет полную уборку мусора для всех поколений. Домены приложений рас-
сматриваются в главе 22.
‰
Завершение работы CLR.
CLR завершает работу при нормальном завер-
шении процесса (по сравнению, например, с внешним завершением работы 
из Диспетчера задач). Во время заверения CLR считает, что в процессе нет 
корневых ссылок; объектам предоставляется возможность выполнить очистку, 
но CLR не пытается дефрагментировать или освобождать память, потому 
что после завершения всего процесса Windows автоматически освобождает 
всю его память.
Большие объекты
Существует еще один путь повышения быстродействия, о котором стоит рассказать. 
CLR делит объекты на малые и большие. До настоящего момента рассматривались 
только малые объекты. Любые объекты размером 85 000 байт и более считаются 
большими
1
. CLR работает с большими объектами по несколько отличающимся 
правилам:
‰
Память для них выделяется в отдельной части адресного пространства процесса.
‰
К большим объектам не применяется сжатие, так как на их перемещение в памяти 
потребуется слишком много процессорного времени. Возможная фрагментация 
адресного пространства между большими объектами может привести к выдаче 
исключения 
OutOfMemoryException
. В будущих версиях CLR большие объекты 
могут участвовать в сжатии.
‰
Большие объекты всегда считаются частью поколения 2, поэтому их следует 
создавать лишь для ресурсов, которые должны жить долго. Размещение в памяти 
короткоживущих больших объектов приведет к необходимости частой уборки 
мусора в поколении 2, что снижает производительность. Обычно в больших 
объектах хранятся большие строки (например, XML или JSON) или массивы 
байтов, используемые в операциях ввода/вывода — например, при чтении данных 
из файла или сети в буфер для последующей обработки.
Все эти механизмы абсолютно прозрачны для разработчика. Вы можете просто 
забыть об их существовании до тех пор, пока в программе не возникнет какая-нибудь 
аномальная ситуация (например, фрагментация адресного пространства).
1
В будущем пороговый размер объекта, при котором он считается большим, может быть 
изменен. Не следует считать значение 85 000 константой.



Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   414   415   416   417   418   419   420   421   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish