Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
スワップデーモンkswapdは、Linuxカーネル起動時にカーネルスレッドとして起動される。このスレッドは永久に以下のkswpad関数を実行しづづける。スワップデーモンは、残りフリーメモリ量が一定量を切ると起動される。
また周期的(一秒毎)に動作し、常に空きメモリ状態のパトロールを行っている。
int kswapd(void *unused) { for (;;) { if (フリーメモリが少なければ) ページの解放(do_try_to_free_pages関数) ページのAGING処理(refill_inactive_scan関数) VM負荷状態再計算(recalculate_vm_stats関数) ディスクI/Oを起動(run_ask_queue(&tq_disk)関数) if (十分なフリーメモリになれば) 待ちに入る(inerruptible_sleep_on_timeout関数) } }
(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:17:49, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members