Nagkakaroon din ng fragmentation sa memory ng system (RAM). Ang mga proseso ng application at system ay naglalaan at gumagamit ng memorya sa mga hindi magkadikit na bloke, dahil ginagamit at ginagamit muli ang mga kasalukuyang memory register.
Pwede bang maging fragmented si Ram?
Ang
Memory paging ay lumilikha ng panloob na fragmentation dahil ang isang buong page frame ay ilalaan man o hindi ang ganoong kalaking storage. Dahil sa mga panuntunang namamahala sa paglalaan ng memorya, minsan mas maraming memorya ng computer ang inilalaan kaysa sa kinakailangan.
Ano ang nagiging sanhi ng pagkapira-piraso ng memorya?
Ang pagkapira-piraso ng memorya ay kapag ang karamihan ng iyong memorya ay inilalaan sa isang malaking bilang ng mga hindi magkadikit na mga bloke, o mga tipak - nag-iiwan ng magandang porsyento ng iyong kabuuang memorya na hindi inilalaan, ngunit hindi magagamit para sa karamihan ng mga karaniwang senaryo. Nagreresulta ito sa mga out of memory exception, o mga error sa alokasyon (ibig sabihin, null ang ibinabalik ng malloc).
Masama ba ang memory fragmentation?
Sa pangkalahatan c++ programing walang problema sa memory fragmentation. Palagi mong nakikita ang virtual memory at palagi kang naglalaan ng magkadikit na virtual memory chunks. Ang tanging bagay na mapapansin mo na ang sunud-sunod na inilalaan na mga tipak ay hindi kinakailangang magkatabi sa memorya.
Paano mo mapipigilan ang pagkapira-piraso ng memorya?
Kung maaari mong ihiwalay nang eksakto ang mga lugar kung saan malamang na maglaan ka ng malalaking bloke, maaari kang (sa Windows) nang direkta tawagan ang VirtualAlloc sa halip na dumaan sa memory manager. Ito ay maiiwasanfragmentation sa loob ng normal na memory manager.