TEDIA会員に登録したメールアドレスとパスワードを入力してください

メールアドレス:

     パスワード:


パスワードを忘れた方はパスワードの確認を行ってください。

TEDIA会員へのご登録がお済みで無い方はこちらで登録ができます


>> テクノロジーポータル TEDIA トップページへ戻る <<

Think IT Software Developer's Think IT Find-IT 失敗しないソフト選び Find-IT TEDIA テクノロジーポータル TEDIA インストールマニアックス2008 インストールマニアックス2008

TEDIA SponsorsOpen Source Web Development Tutorials - Dev Shed

Linuxカーネルに与えるファイルI/Oのアドバイス
(2009/03/24公開)

手軽で有効なアドバイス

 一般的なアプリケーションでは、ちょっと親切なアドバイスをカーネルに与えるだけで、即、作業負荷の恩恵を受ける場合があります。そのようなアドバイスは、I/Oの負荷を緩和する上で大きな効果を発揮します。ハードディスクが非常に遅く、片やプロセッサが非常に高速となった現状では、ささいな操作が助けになり、優れたアドバイスが効果を発揮します。

 ファイルのチャンクを読み出す前にPOSIX_FADV_WILLNEEDの手掛かりを与えると、カーネルはファイルをページキャッシュに読み込みます。I/Oは、バックグラウンドで、非同期的に発生します。最終的にファイルにアクセスする時、プロッキングI/Oを生成することなく、作業が完了します。

 反対に、大量データの読み出しや書き込み-例えば、ビデオを継続的にディスクへ書き込む作業-の後にPOSIX_FADV_DONTNEEDの手掛かりを与えると、カーネルは指定されたファイルのチャンクをページキャッシュから削除します。大量データのストリーム処理は、継続的に、ページキャッシュを埋めていきます。そのデータに2度とアクセスする予定がない場合、ページキャッシュが不要なデータで埋められて有用なデータが犠牲になる可能性があります。したがって、ビデオをストリームするアプリケーションの場合、ストリームしたデータをキャッシュから削除する要求を定期的に指示するほうが合理的です。

 ファイル全体の読み込みを行う場合は、POSIX_FADV_SEQUENTIALの手掛かりを与えると、カーネルが積極的な先読みを実行します。反対に、ファイルに前後順不同でアクセスする場合は、POSIX_FADV_RANDOMの手掛かりを与えると、カーネルは先読みが無駄なオーバーヘッドであることを理解します。


前のページ     1    2    3    4    次のページ

Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.