Bosh sahifa Wiki Fragmentation

Fragmentation

Fragmentation — mavjud resursning bo‘sh yoki ishlatilgan qismlari mayda, tarqoq bo‘laklarga ajralib, umumiy sig‘im yetarli ko‘rinsa ham katta uzluksiz joy yoki samarali uzatish topishni qiyinlashtiradigan holat. Atama xotira, disk, fayl tizimi, database va IP tarmog‘ida boshqa mexanizmlarni bildiradi.

Xotirada

External fragmentation bo‘sh xotira bir nechta kichik oralig‘ga tarqalganda yuz beradi. Jami bo‘sh joy katta bo‘lsa ham katta contiguous allocation sig‘maydi. Internal fragmentation allocator bergan blok so‘ralgan hajmdan katta bo‘lib, ichki qismi ishlatilmaganda paydo bo‘ladi.

Paging virtual memorydagi contiguous talabni kamaytiradi, ammo page ichidagi internal waste va physical page availability saqlanadi. Huge page katta TLB samarasi beradi, lekin allocation/compaction qiyinlashishi mumkin.

Fayl tizimi va disk

Fayl bloklari disk bo‘ylab tarqalsa fragmentation deyiladi. HDD head ko‘p seek qilgani uchun performance sezilarli pasayishi mumkin. SSDda seek mexanik emas, ammo metadata, write amplification va erase block xususiyatlari sabab fragmentatsiya butunlay ahamiyatsiz emas.

File system extentlar orqali ketma-ket bloklarni ifodalaydi va delayed allocation bilan yaxshiroq joy tanlaydi. Diskni juda to‘ldirish katta extent topishni qiyinlashtiradi. Defragmentation bloklarni qayta joylaydi, ko‘p IO va SSD wear keltirishi mumkin; faqat o‘lchangan ehtiyojda ishlatiladi.

Database’da

Table page’laridagi bo‘sh joy, row migration, dead tuple va index page splitlar database fragmentation/bloat sifatida ko‘rinadi. B-tree logical key order fizik page tartibiga to‘liq mos bo‘lmasligi mumkin. Har vendor “fragmentation foizi”ni boshqa usulda o‘lchaydi.

Rebuild yoki reorganize indexni zichlashtiradi, ammo lock, transaction log va replica lag keltiradi. Fill factor write workload uchun bo‘sh joy qoldiradi; 100% zichlik read uchun yaxshi ko‘rinsa ham random insertda tez page splitga olib keladi.

IP fragmentation

IP packet path MTUdan katta bo‘lsa IPv4 router yoki source uni fragmentlarga bo‘lishi mumkin; DF flag bunga yo‘l qo‘ymaydi. IPv6 routerlar fragmentation qilmaydi, source Fragment header orqali bo‘lishi mumkin. Destination barcha fragment kelgach packetni qayta yig‘adi.

Bitta fragment yo‘qolsa butun original packet yaroqsiz bo‘ladi. Firewall va NAT fragmentlarni tekshirishda qiynalishi, evasion xavfi tug‘ilishi mumkin. Path MTU Discovery va transport MSS packetni oldindan mos hajmda yuborishga yordam beradi.

Belgilar va o‘lchov

Xotirada allocation failure va compaction CPU, filesystemda extent count va latency, database’da page density/bloat, tarmoqda fragment counter va reassembly failure kuzatiladi. Bir qatlamdagi “fragmentation” uchun boshqa qatlam vositasini qo‘llab bo‘lmaydi.

Jami free capacityga qarash yetarli emas. Largest free extent, locality, page fill va packet size taqsimoti ko‘riladi. Muammo paydo bo‘lgan workload — random insert, churn, large packet yoki uzoq uptime — bilan bog‘lanadi.

Boshqaruv

Oldini olishda capacity headroom, mos allocation size, fill factor, batch/compaction va MTU sozlamasi ishlatiladi. Defrag, index rebuild yoki memory compaction vaqtinchalik yengillik berishi mumkin; root sabab saqlansa holat qaytadi.

Maintenance ta’siri oldindan hisoblanadi. Data ko‘chirish storage failure vaqtida riskni oshirishi mumkin, shuning uchun backup va monitoring tekshiriladi.

Fragmentatsiyani kamaytirish chorasi qatlamga bog‘liq: allocator obyektlarni ko‘chirishi, fayl tizimi defragmentatsiya qilishi, indeks esa sahifalarni qayta qurishi mumkin. Har bir usul vaqtincha qo‘shimcha joy va I/O talab qiladi.

Bog‘liq tushunchalar

Memory allocation, External fragmentation, Internal fragmentation, File extent, Page split, Fill factor, IP fragmentation, Path MTU Discovery