Kamis, 08 November 2007

pembagian memory utama oleh kernel

Coba lakukan command 'top' shg muncul, contoh:



#top

last pid: 21530; load averages: 0.00, 0.00, 0.00 up 66+18:16:35 14:11:26
27 processes: 1 running, 26 sleeping
CPU states: 0.4% user, 0.0% nice, 0.0% system, 0.0% interrupt, 99.6% idle
Mem: 19M Active, 332M Inact, 148M Wired, 16K Cache, 112M Buf, 1503M Free
Swap: 1500M Total, 1500M Free

Perhatikan huruf berwarna merah, penjelasannya ada dibawah ini

Kernel membagi memori utama dalam 5 macam:

  1. Wired: page status Wired dikunci dalam memori dan tidak dapat 'page out' - dibebaskan. Biasanya dipakai oleh kernel atau physical-memory pager, atau mereka sudah terkunci oleh fungsi mlock(). Sbg tambahan semua page yang digunakan untuk memegang struktur user dan proses2 stack2 thread juga termasuk.

  2. Active: page Active digunakan oleh satu region virtual memori atau lebih. Walaupun kernel dapat mengeluarkan dari daftar page, namun proses akan diaktifkan kembali kemudian.

  3. Inactive: page Inactive memiliki isi yang masih dikenal, tapi mereka tidak termasuk bagian dari region aktif manapun. Jika isi page tsb dianggap dirty, isinya harus ditulis ke backing store sebelum page tsb dipakai kembali. Pada saat page tsb sudah kosong, ia masuk ke dalam daftar 'cache'. Jika sistem memori menurun, pageout daemon akan mencoba memindahkan page2 active kedalam daftar inactive dengan harapan dapat menemukan page yang benar2 tidak dipergunakan. Pada saat free & cache memori menurun drastis, pageout daemon akan menjelajah ke dalam daftar inactive untuk memperbanyak cache & page yang free.

  4. Cache: page Cache pages memiliki isi yang masih dikenal, tapi mereka tidak termasuk bagian dari region aktif manapun. Jika mereka dipetakan ke dalam sebuah region yang active harus ditandai 'read-only' . Mirip dengan page inactive namun tidak berstatus 'dirty', karena tidak termodifikasi, semenjak mereka masuk dalam daftar 'active'. Mereka dapat dipindahkan ke dalam daftar free bila diperlukan.

  5. Free: page yang Free pages tidak memiliki isi yg berguna sehingga dapat memenuhi permintaan 'page-fault'. Proses idle mencoba untuk tetap mendapatkan sekitar 75% dari page2 didalam free list zeroed sehingga tidak perlu berstatus "zeroed" sementara melayani sebuah page-fault dr anonimous region. Page2 dengan isi yang tidak dikenal ditempatkan di depan daftar free, page zeroed ditempatkan diakhir. Proses idle akan mengambil page dari depan, mengosongkan & memberi tanda zero, serta menempatkan zeroed pages diurutan akhir.

Buf: page Buffer biasa digunakan oleh virtual map

Tidak ada komentar:

OFB.biz: Open for Business