日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
MADVISE(2) FreeBSD システムコールマニュアル MADVISE(2) 名称 madvise, posix_madvise -- メモリの使用法に関するアドバイスを与える ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <sys/mman.h> int madvise(void *addr, size_t len, int behav); int posix_madvise(void *addr, size_t len, int behav); 解説 madvise() システムコールによって、メモリの振る舞いの知識があるプロセス は、それをシステムに記述することができます。posix_madvise() インタフェー スは、エラーでエラー番号を返し、errno を修正せずに、標準の適合のために提 供されることを除いて、同一です。 既知の振る舞いは、次の通りです: MADV_NORMAL システムに、デフォルトにページングの以前の振る舞いに戻る ように伝えます。 MADV_RANDOM ページがランダムにアクセスされ、プリフェッチすることは、 たぶん有利ではないというヒントです。 MADV_SEQUENTIAL VM システムは、それがフォルトとなる、与えられたページの 直前のページの優先度を低下します。 MADV_WILLNEED 与えられた仮想アドレスの範囲にあるページは、一時的に高い 優先度を持つようにし、それらが、メモリにあるなら、解放さ れるそれらの可能性を減少します。さらに、すでにメモリにあ るページは、直ちにプロセスにマップされ、それによって、 ページ入力のフォルトの全体のプロセスを通して不要なオーバ ヘッドを取り除きます。これは、裏打ちされた格納からページ 入力のフォルトでは「ありません」が、すでにメモリにある ページを呼び出しているプロセスに迅速にマップします。 MADV_DONTNEED VM システムは、指定されたアドレス範囲のページのメモリ内 の優先度を減少することができます。その結果として、このア ドレス範囲の将来の参照は、それどころか、ページフォルトを 招きます。 MADV_FREE VM システムにページを解放する自由を与えて、指定された ページ範囲の情報がもはや重要ではないことをシステムに伝え ます。これは、アドレス空間を有効のままにしておく間に、ア ドレス空間のどこにでもページを解放するために malloc(3) を許可するための効率的な方法です。この次ページが参照され るときに、ページは、0 クリアされる要求であるかもしれない か、または MADV_FREE 呼び出しの前に、そこにあったデータ を含んでいるかもしれません。そのアドレス空間の範囲に行わ れる参照は、ページが再び修正されるまで、裏打ちされた格納 から VM システムページの情報を戻しません。 MADV_NOSYNC システムが、それが必要がないなら、物理的に裏打ちされた格 納に、このマップに関連したデータをフラッシュしないことを 要求します。通常、これは、物理的なディスクに VM システム によってダーティ (汚い) にされたページを理由もなく書き込 むことからファイルシステム更新デーモンを防止します。VM/ ファイルシステムの一貫性は、常に維持され、この機能は、 マップされたデータが、通常、システムページャによって、そ れが必要とされるときのみ、フラッシュされることを単に保証 することに注意してください。 この機能は、利用者が、プロセス (IPC) の間で通信するファ イルに裏打ちされた共用メモリ領域を使用したいとき、通常、 使用され、特に、ディスクに物理的に書き込まれるその領域に 格納されているデータを必要としません。この機能で、利用者 は、SysV 共用メモリ呼び出しで取得することを期待する mmap で同等の性能を得ますが、より制御可能で、それほど制限的で はない方法です。しかしながら、この機能は、(いくつかは、 デフォルトで正しいことを行うかもしれませんが) UNIX プ ラットフォームに渡って移植性がないことに注意してくださ い。詳細については、mmap(2) の MAP_NOSYNC セクションを参 照してください。 MADV_AUTOSYNC アドレス範囲内のダーティ (汚い) な任意の将来のページに対 して MADV_NOSYNC の効果を取り消します。すでにダーティ (汚い) にされたページへの効果は、不定です - それらは、前 の状態に戻るかどうか分かりません。利用者は、msync(2) ま たは fsync(2) システムコールを使用して元の状態に復帰を保 証することができます。 MADV_NOCORE 領域は、コアファイルに含められません。 MADV_CORE コアファイルに領域を含めます。 MADV_PROTECT スワップ空間が使い果たされるとき、このプロセスが kill さ れるべきではないことを、VM システムに通知します。プロセ スは、スーパユーザの特権がなければなりません。これは、シ ステムが適切に機能するために実行し続けなければならないプ ロセスで賢明に使用されるべきです。 posix_madvise() インタフェースを呼び出す移植性のあるプログラムは、上に説 明されたフラグではなく、エイリアス (別名) POSIX_MADV_NORMAL, POSIX_MADV_SEQUENTIAL, POSIX_MADV_RANDOM, POSIX_MADV_WILLNEED と POSIX_MADV_DONTNEED を使用すべきです。 戻り値 関数 madvise() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno にエラーを示す値が設定されます。 エラー madvise() システムコールは、次の場合に失敗します: [EINVAL] behav 引数が、有効ではありません。 [ENOMEM] addr と len 引数によって指定された仮想アドレス範囲が、 有効ではありません。 [EPERM] MADV_PROTECT が、指定され、プロセスにはスーパユーザの 特権がありません。 関連項目 mincore(2), mprotect(2), msync(2), munmap(2), posix_fadvise(2) 規格 posix_madvise() インタフェースは、IEEE Std 1003.1-2001 (``POSIX.1'') に適 合しています。 歴史 madvise() システムコールは、4.4BSD ではじめて登場しました。 FreeBSD 11.2 July 12, 2015 FreeBSD 11.2