サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
www.nminoru.jp/~nminoru
2002 | 10 | 11 | 12 2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1
このページでは Ceph や RBD を使う上で分かり辛い RADOS、CRUSH、Placement Group の概念を掘り下げて説明する。 以下は関連ページ。 Ceph の覚え書きのインデックス Ceph を使ってみる Rados Block Device(RBD) を使ってみる Ceph の CRUSH マップの書き方 更新履歴 (2012.02.10) 作成。 (2012.10.27) Mapping Algorithm を追加。 目次 1. RADOS RADOS を使ってみる RADOS のファイルはどこに格納されたのか? 2. Replication 3. CRUSH バケット(Bucket) Bucket の種類 OSD の過負荷(overload)と残空き容量 4. Placement Group Placement Group を確認する オブジェクトを Placem
このページでは Ceph のストレージをブロックデバイスとして切り出す Rados Block Device(RBD) の使い方を説明する。 以下は関連ページ。 Ceph の覚え書きのインデックス Ceph を使ってみる Ceph の CRUSH マップの書き方 RADOS の概略 更新履歴 (2012.03.20) 作成。 目次 1. Rados Block Device (RBD) とは 2. セットアップ 3. 基本的な操作 3.1 mon デーモンの位置の指定 3.2 RBD イメージの作成 3.3 RBD イメージの確認 3.4 RBD イメージの出力 3.5 RBD イメージの削除・コピー・移動 4. クライアントへの RBD のマップ 4.1 秘密キーファイルの作成 4.2 クライアントへのマップ 4.3 クライアントからのアンマップ 5. スナップショット操作 6. 別プー
作成日:2012.05.02 UNIX 系 OS のファイルシステムの計測を行うベンチマーク。 x86-64/Linux で動作することを検証している。 更新履歴 (2012.05.02) 作成 プリミティブ計測型のベンチマーク IOZone Flexible IO Tester (fio) Bonnie++ AIO-Stress Threaded I/O Tester ワークロード計測型のベンチマーク Filebench FS-Mark PostMark DBENCH SysBench Flexible Filesystem Benchmark (FFSB) Iometer SPECsfs2008 一般的なテクニック ディスクキャッシュの開放 マウントオプション SSD の初期化 CPU のバインド ファイルベンチマークがまとめられているサイト コメント プリミティブ計測型のベンチマーク
inotify (inode-based file event notifications) inotify は Linux 2.6.13 からマージされたファイル報告機能で、指定したディレクトリの直下にあるファイルやディレクトリを監視できる。 監視対象のディレクトリ権限さえあれば監視が可能。 ただし指定ディレクトリから再帰的に監視することはできない。 inotify の監視の流れ以下のようになる。 inotify_init を実行してファイルディスクリプタ(fd)を得る。 inotify_add_watch を使って監視ディレクトリ(watching directory; wd) を登録する。監視ディレクトリは複数登録できる。 ファイル変更イベントは fd を read で読むことで可能である。ファイルが更新するタイミングは fd を select、poll、epoll でも監視できる。
作成日:2012.04.28 更新日:2014.05.14 更新履歴 (2012.4.28) 2010年10月2日の日記と2011年2月2日の日記から作成。 (2014.2.20) Fedora 20 (kernel-3.12.8) で hole punch を確認。 (2014.5.14) 2.3 SEEK_DATA & SEEK_HOLE をつけて lseek の節を追加。 はじめに UNIX には疎なファイル(sparse file)とか穴(hole)のあるファイルと呼ばれるが機構がある。 以下疎なファイルと呼ぶ。 疎なファイルは、ファイルの途中にディスクに割り付けられていない「穴」の領域があるファイルだ。 この領域は read() すると 0 で埋められているように見える。 ファイルの穴の部分に write をした場合に初めて、ディスクのブロックが割り付けられる。 疎なファイルはコ
[Book] トーマス・ヘイガーの「大気を変える錬金術――ハーバー、ボッシュと化学の世紀」 トーマス・ヘイガー著「大気を変える錬金術――ハーバー、ボッシュと化学の世紀」を読了した。 この本は中西 準子先生の書評で知ったのだがこれは評判通り凄い本だった。 内容は空気からパンを作る技術、つまりフリッツ・ハーバーとカール・ボッシュが完成させた窒素固定法(ハーバー・ボッシュ法)に関する科学技術史の解説だ。 一応理系なのでハーバー・ボッシュ法は知っていけど、窒素固定法が発明される前の前史、ハーバーとボッシュが発明以降に辿る数奇な運命はほとんど知らなかった。 ヨーロッパは火薬の原材料や農業生産性を高めるための肥料として硝石を必要とする。 人間の尿を集めることである程度硝石を集めることが出来たが、それでは足りない。 自然の中にある硝石の鉱脈を求めて世界中が探索される。 やがてペルーのグアノ(海鳥の糞由来
このページでは ceph のインストール方法と基本的な使い方を解説する。 以下は関連ページ。 Ceph の覚え書きのインデックス Rados Block Device(RBD) を使ってみる Ceph の CRUSH マップの書き方 RADOS の概略 更新履歴 (2011.12.26) Linux の configuration の変更方法を追加。 (2012.02.10) レプリケーション数の変更を追加。 (2012.03.07) 「モニタサーバとメタデータサーバの名前」と「OSD サーバを内部ネットワークにと外部ネットワークに別々につなげる」を追加。 目次 1. Ceph とは 2. インストール 2.1 OS のインストール 2.2 OS インストール後の設定 2.3 ceph のインストール 3. ファイルシステムの作成とマウント 3.1 構成の設計 3.2 ファイルシステムの作
VMware vCenter Converter Standalone を使って Windows 2000 SP4 物理マシンを仮想マシン化 目次 1. 下準備 2. VMware vCenter Converter Standalone をダウンロード 3. Windows 2000 SP4 用の sysprep.exe を入手 4. コンバート 5. VMware Player で実行 参照したページ コメント 自作2号機は長らく Windows 2000 で動作していたが、Microsoft によるサポートも停止しこれ以上使い続けることは難しい。 OS を入れ替えようにも CPU も古いし、さりとてマザーボードごと交換しようとしてもケースは ATX 規格である。 あまり自作2号機には先がないので新しいPCを新規調達した。 ただ古いマシンの動作環境は残しておきたいので、 物理マシンから
Acrobat のプラグインを作ろう (1) 作成日:2003.2.4 Adobe は Acrobat の SDK を公開していて、 無料でダウンロード可能。 これを使うと Acrobat のプラグインなどが 簡単につくれる。 このページでは、 Windows 用 Acrobat のプラグイン / 外部からの Acrobat 機能の呼び出し方を 数回に分けて解説する予定。 とりあえず今回はサンプルプラグインの作成まで。 必要なもの Acrobat (Acrobat Reader ではなく売り物の方。最新の 5.0 がよい) Microsoft Visual C++ (6.0 を想定している) Acrobat 5.0 SDK 開発環境としては Windows 2000 Pro を想定しているが、 他の環境でも大丈夫。 以降、 Acrobat が C:\Program Files\Adobe\
作成日:2002.10.9 修正日:2004.01.8 Boehm GC ライブラリとは ここで、 Boehm GCと呼ぶのは H. Boehm、A. Demers、M. Weiser の 3 人によって 書かれた保守的(conservative)ガーベージコレクション (Garbage Collection;GC)ライブラリのことです。 Java の登場によって GC も人口に膾炙してきました。 しかし、多くの人がまだ 専用のプログラム言語とインタプリタ ランタイムが なければ GC は使えないと考えています。 Boehm GC ライブラリは、 従来の C 言語の malloc 関数を GC_malloc 関数へ置き換え free 関数を取り除くだけで、 C 言語のプログラムでも GC が使えるようになるという素敵なライブラリです。 当然、 C++ 言語にも対応しています。 また、あなた
Java 言語は、 SUN の配布する次の Java 2 Platform, Standard Edition 1.5 (以下、J2SE 1.5) から その言語仕様に大きな修正が加えられる予定だ。 その内容を SUN のエンジニア Dr. Joshua Bloch が 紹介するページが公開された (ここ)。 J2SE 1.5 で Java 言語仕様に追加される予定の機能は大きく6点。 Generics Enhanced for loop Autoboxing/unboxing Typesafe enums Static import Metadata ただし、仕様は決定ではないので、まだ変更される可能性がある。 1. Generics すでに予告されたように C++ の template のような generic type が 言語仕様に追加される。 従来の JDK のライブラリでは、
コンパイラ x86 で動作する C/C++ コンパイラ (2006.01.12) x86 で動作する Fortran コンパイラ (2006.01.12) x86-64 (AM64、IA-32e、X64) で動作するコンパイラ (2006.01.12) プロセッサ・アーキテクチャ RISC プロセッサの命令セットの特徴 (2005.6.13) 仮想メモリ方式の分類 (2006.5.25) OS に依存するプログラムテクニック Windows/Solaris/Linux で外部プロセスのメモリを覗く方法 (2002.7.14) スタックオーバーフローのハンドリング (2006.2.19) Windows で Event を使う場合の覚え書き (2001.8.27) Linux のファイルシステム Linux で疎なファイル(sparse file)を使う (2014.05.14) Linux
目次 1. 前置き 2. HotSpot VM 1.4.x の GC の種類 3. Mostly-concurrent Mark & Sweep 4. 応用 4.1 世代別 GC との組み合わせ 4.2 カードマーキング (Card Marking) 4.3 並列化 (Parallel GC) 4.4 ビットワイズ・スイープ (Bitwise Sweep) 4.5 インクリメンタル・コンパクション (Incremental Compaction) 5. 参考文献 脚注 コメント 1. 背景 ガーベージコレクション(GC) には色々なアルゴリズムが存在するが、大雑把に言って Stop-the-World (STW) 型 GC と On-the-fly 型 GC に大別される。 STW 型の GC はプログラムの実行中にはガーベージの回収を行わず、メモリが枯渇した時になって始めてガーベージの回
HTTP ヘッダーの Content-type フィールド Microsoft Word や Excel のデータも Web 上に置いておけば、 Internet Explorer(IE) なら http://hoge.moge/~nminoru/page.xls のように開くと ファイルを保存するかそのまま開くかのダイアログが出る。 しかし、 Netscape Navigator(NN) で .doc で .xls を見ようとすると、 アプリケーションのデータをそのまま文字テキストとして開いて、 文字化けした画面が表示される。 これは Apache が認識できないデータ形式に対して HTTP の "Context-type: text/plain" を返すのが原因のようだ。 これを防ぐには拡張子で MIME タイプの設定を行う。 手っ取り早くは、 個人の .htaccess で以下を設定
修正を加えたプログラムが tree2.c です。 -lgcオプションを加えてコンパイルしましょう。 gcc -o tree2 tree2.c -lgc 元のプログラムに対して、 修正を行うのが嫌なら 以下のようなヘッダーファイルを用意するのが よいでしょう。 #include <gc.h> #define malloc GC_malloc #define calloc GC_calloc #define realloc GC_realloc #define free これで元のプログラムは Boehm GC を 使うように変更できました。 これでおしまいです。 その他の基本機能 Boehm GC の基本機能として、 malloc 系の関数の置き換え関数以外に、 以下のような関数が存在する。 void GC_gcollect(void) 明示的に GC を発生させる関数。 プログラムのフェー
次のページ
このページを最初にブックマークしてみませんか?
『NAKAMURA Minoru's Home Page』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く