日本語 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
MEMGUARD(9) FreeBSD カーネル開発者マニュアル MEMGUARD(9) 名称 MemGuard -- デバッグ目的のためのメモリアロケータ 書式 options DEBUG_MEMGUARD 解説 MemGuard は、tamper-after-free (変更した後で解放する) シナリオを検出する ことを助けるように設計された簡単で小さい置換メモリアロケータです。これら の問題は、競合条件がより一般的であるマルチスレッド化されたカーネルでます ます共通であり得ることです。 MemGuard は、単一の malloc タイプのための malloc(), realloc() と free() に取って代わることできます。また、MemGuard は、単一の uma(9) ゾーンのため に uma_zalloc(), uma_zalloc_arg() と uma_free() に取って代わることできま す。また、MemGuard は、PAGE_SIZE より大きなすべての割り付けを保護すること ができ、すべての割り付けのランダムな断片を保護することができます。また、 メモリの消耗を制限して保護される指定されたサイズより小さい割り付けを防ぐ ためのノブがあります。 使用例 メモリタイプのために MemGuard を使用するために、/boot/loader.conf にエン トリに次のいずれかを追加します: vm.memguard.desc=<memory_type> または、実行時に vm.memguard.desc sysctl(8) 変数を設定します: sysctl vm.memguard.desc=<memory_type> ここで、memory_type は、モニタするメモリタイプの短い記述、または uma(9) ゾーンの名前のいずれかを指定できます。vm.memguard.desc が設定された後に、 行われた memory_type からの割り付けだけが、潜在的に保護されます。 vm.memguard.desc が実行時に変更されるなら、いったん sysctl(8) が設定され ると、新しい memory_type の割り付けだけが潜在的に保護されます。既存の保護 された割り付けは、まだ、どのような種類の割り付けが取って代わられたによっ て、free(9) または uma_zfree(9) のいずれかによって適切に解放されます。 malloc(9) タイプの短い記述を決定するために、vmstat(8) -m 出力の最初のカラ ムからそれを取るか、またはカーネルのソースに、それを見つけることができま す。それは、MALLOC_DEFINE(9) マクロの 2 番目の引数です。uma(9) ゾーンの名 前を決定するために、vmstat(8) -z 出力の最初のカラムからそれを取るか、カー ネルのソースに、それを見つけることができます。それは、uma_zcreate(9) 関数 の最初の引数です。 vm.memguard.divisor ブート時調整変数は、どのくらい MemGuard が消費できる か、システムの物理的なメモリを見積もるために使用されます。デフォルトは、 10 であるので、最大 vm_cnt.v_page_count/10 ページを使用することができま す。MemGuard は、物理的なメモリサイズの 2 倍に制限される、仮想アドレス空 間の vm_kmem_max / vm.memguard.divisor バイトを予約します。物理的な制限 は、vm.memguard.phys_limit として報告され、MemGuard のために予約された仮 想空間は、vm.memguard.mapsize として報告されます。 MemGuard は、vm.memguard.minsize バイトより小さいどんな割り付けのためにも ページの推進を行いません。デフォルトは、潜在的にすべての割り付けを保護で きることを意味する、0 です。MemGuard は、100000 / vm.memguard.frequency の割り付けのすべての平均的な頻度がある十分大きいランダムな割り付けを保護 できます。デフォルトは、割り付けがランダムに保護されることを意味する、0 です。 MemGuard は、vm.memguard.options に 1 ビット設定しているなら、オーバフ ローとアンダフローを検出するために各割り付けの周りにオプションで、マップ されない保護ページを追加することができます、このオプションは、デフォルト で有効にされます。MemGuard は、vm.memguard.options に 2 ビット設定してい るなら、オプションで、PAGE_SIZE 以上のすべての割り付けを保護します。この オプションは、デフォルトでオフにされます。デフォルトで、MemGuard は、偽の positive を作成することができるので、UMA_ZONE_NOFREE フラグセットで初期化 された uma(9) ゾーンを保護しません。訳注: positive の意味不明。しかしなが ら、vm.memguard.options 調整変数のビット 3 を設定することによって、この安 全対策をオフに切り替えることができます。 関連項目 sysctl(8), vmstat(8), contigmalloc(9), malloc(9), redzone(9), uma(9) 歴史 MemGuard は、FreeBSD 6.0 ではじめて登場しました。 作者 MemGuard は、最初に Bosko Milekic <bmilekic@FreeBSD.org> によって書かれま した。このマニュアルページは、最初に Christian Brueffer <brueffer@FreeBSD.org> によって書かれました。実装と文書の両方は、Matthew Fleming <mdf@FreeBSD.org> と Gleb Smirnoff <glebius@FreeBSD.org> によって 追加されました。 FreeBSD 11.2 March 22, 2017 FreeBSD 11.2