ブログトップ 記事一覧 ログイン 無料ブログ開設

Simple is Beautiful このページをアンテナに追加 RSSフィード Twitter

2005 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 04 | 05 | 07 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 12 |
2014 | 01 | 02 | 03 | 04 | 07 | 08 | 09 | 11 | 12 |
2015 | 01 | 02 | 04 | 05 | 06 | 12 |
2016 | 01 | 11 | 12 |
2017 | 03 | 04 | 05 | 06 |

2007/11/30 (金)

[]転職して1年

経過。うーん、まぁ早かったような、そうでもないような。

前進あるのみ。

[]KDDI PC用データ通信定額サービス

ついにKDDIが使用プロトコル制限のない定額データ通信サービスを開始することを発表しました。

KDDI、沖縄セルラーは、EVDO Rev.A方式に対応し、上り最大1.8Mbps、下り最大3.1Mbpsの高速データ通信がご利用いただけるコンパクトフラッシュ型WINデータカード「W05K」を、本年12月下旬に発売します。

http://www.kddi.com/corporate/news_release/2007/1129/index.html

この通信環境が、月額6000円で手に入ります。128kbpsのAirH"でも4000円以上していたのが・・・うーん、思った以上に早く、どこでも高速インターネットが現実のものになりそうなかんじですね。

[]kernel:about "File System"

  • kernelは様々なデバイスに保存されるデータやファイルを一貫した方式でアクセスするためのFile Systemを提供する
  • HDDやCD-ROM、USBデバイス等の様々なデバイスをファイルとして扱うインターフェイスの役割を持つ

ファイルの読み込み処理

  • Linuxではroot( / )を頂点としたディレクトリ構成を持つ
  • ファイルを読み込むには、(1)ルートディレクトリから対象のファイルが配置されたフォルダまでのパスを読み込み、(2)対象のファイル名を読み込み、(3)ファイルのデータを読み込む、という3段階のディスクアクセスが必要となる
  • 同一ファイルにアクセスする際に、何度も読み込み処理を行う必要がないように、kernelは一度読み込んだファイルをバッファとしてメモリに保持し、読み込み処理を効率化する機能を持つ

バッファ

  • ディスクアクセスに対してメモリアクセスは非常に高速であるため、ファイル内容をメモリ上に保持することによりディスクアクセスを減らし、ファイルへのアクセス速度を向上させるバッファ機能を持つ
  • ファイルを細かく読み込んだり書き込んだりする処理に対して、書き込み処理はバッファを経由することによってディスクへの書き込み処理回数を削減し、読み込み処理はディスクからの読み込み処理回数を削減する

iノード

  • ファイルシステムがファイルを管理するための管理情報
  • ファイルが格納されているセクター番号やファイルサイズ、変更時刻等のメタ情報を保持している
  • ファイルシステムでiノードはファイル自体とは別に管理され、iノード番号とファイルシステムを対応している

2007/11/29 (木)

[]書評:『φは壊れたね森博嗣/講談社文庫

森博嗣の文庫新刊。

φは壊れたね (講談社文庫)

φは壊れたね (講談社文庫)

初めて森博嗣の作品を読んだ。だって小説モードにスイッチが入り、「何を読もうかなー」と本屋を物色していたところオビに『もしもこれまでの人生、一冊の森博嗣も読んでいなかったら。』なんて書かれているんだもの。読んでなかったら何だって言うのよ、と。

その死体は、Yの字に吊られていた。背中に作りものの翼をつけて。部屋は密室状態。さらに死体発見の一部始終が、ビデオで録画されていた。タイトルは「φは壊れたね」。これは挑戦なのか?N大のスーパー大学院生、西之園萌絵が、山吹ら学生たちと、事件解明に挑む。Gシリーズ、待望の文庫版スタート!

シリーズものかい!と思い、ちょっと躊躇したもののまぁいいか、と。面白ければ続けて読む楽しみができるし、面白くなければ続けて読まなければ良いだけの話。結局どうだったのかと言えば、なかなか面白かった。ちょっと理系な赤川次郎というか、工学部助教授という立場で作家活動をしてきた(現在は退職)著者ならではの綿密に練られたプロットと、コミカルな?会話により進行するストーリー展開は読んでいて世界に引き込まれる。

真保裕一、高嶋哲夫と、久々の小説としてサスペンスものを読み重ねて来たところに唐突に森博嗣を読み始めると、最初はその軽い進行?をなかなかスムーズに受け入れることができなかったが、その世界観に一度入ってしまえば、あとはグイグイと引きつけられる。

Gシリーズ第1作とはいえ、主人公?の西之園萌絵は著者のメインシリーズともいえるS&Mシリーズの主役でもあり、主要な登場人物はその世界観を受け継いでいる。なぜ西之園萌絵はお金持ちなのかなどはシリーズ読者には当たり前のことなのか、本書ではいっさいの説明やバックグラウンドの説明はないが、まぁそれはそういうものとして受け入れるべきなのだろう。

それにしても、小説を読むとリアルとは違う世界を楽しむことができるので、気分転換に適しているということを改めて感じている。やはり新書や技術本では、あくまでも現実の延長線にあるだけに意識の切り替えにはつながらないが、小説は読むことによって、ストーリーを楽しみ、現実とはつながりのない世界で遊ぶことができる。やっぱりある程度は小説も読むべきですね。

[]VI3.5

VI3.5の情報が公開されだしていますね。VI3系としての正常進化と、10Gb NICやInfinibandのサポートなど、VI3の登場からあまり時間を経ずにリリースされるVI3.5ですがVI3系として他社をリードするために必要なリリースだということなのでしょう。

VMware Update Managerや、Distoributed Power Management(DPM)、Storage VMotionなど、まだまだ今後の洗練化が必要だと思われる機能も積極的に搭載されてきており、大きな流れとして市場に広がりだした仮想化のさらなる広がりに拍車がかかればよいのですが。

http://enterprise.watch.impress.co.jp/cda/software/2007/11/27/11721.html

[]kernel:about "Memory"

  • kernelは物理メモリ管理、仮想メモリ管理、スワップ管理の3種類のメモリ管理機能を持つ

物理メモリ管理

  • kernelは起動時に自身が実行される環境が持つ物理メモリ量を確認し、kernel用のメモリ空間とkernel以外用のメモリ空間を管理するための管理テーブルを作成する
  • 物理メモリの管理テーブルに続いて、仮想アドレスへの変換に利用するページテーブルを作成する
    • メモリを利用するProcessはページテーブルを参照するため、直接物理メモリを認識することはない
  • ページテーブルによりアドレス変換の起点を設定することによって仮想メモリとの変換がされる
  • アドレス変換の起点を入れ替えることによりProcessに紐づいたメモリ空間の切り替えを処理する

仮想メモリ管理

  • ユーザプロセスやkernelが使用する仮想メモリ空間についてもkernelがアドレス管理を行う
  • ユーザプロセスは0番地〜3G番地まで、kernelは3G番地〜4G番地を使用する
  • ユーザプロセス用の仮想メモリ空間には、実行されることによってメモリ上に展開されたプログラム自身や、共用ライブラリ、ヒープ領域、スタック領域、データなどが配置される
    • ヒープ領域:プログラムにより動的に確保される領域
    • スタック領域:レジスタなどの退避領域、変数

スワップ領域

  • 搭載されている物理メモリ量以上のメモリ空間をシステムが必要とした場合、kernelは参照のみに使用されているメモリ空間を解放する
  • 解放されたメモリ空間はHDD上の領域に退避される(Swap Out)
  • 解放されたメモリ空間へのアクセスが必要となった場合には再度メモリ上に展開される(Swap In)

2007/11/28 (水)

[]書評依頼が来た、のだが・・・

築地書館さんから本が好き!プロジェクト経由で「オタクコミュニスト超絶マンガ評論」なる本の書評依頼を貰った。

論評本の書評なんてどうなることやら、というか、なぜ私に?といった感もあるのだが、せっかくなのでお受けすることにした。

その内、このBlogに載ると思う。

うーん、選考基準が知りたい・・・。やっぱりやっぱり・・・そういうことなのか?

オタクコミュニスト超絶マンガ評論

オタクコミュニスト超絶マンガ評論

http://www1.odn.ne.jp/kamiya-ta/menu.html

[]kernel:About "Process"

  • Linuxにおいて、kernelはプログラムを"Process"という単位で扱う
  • 複数のプログラム(=Process)を平行して同時に実行するために、kernelはProcessを切り替えながら処理を行う
    • kernelは実行中のProcessを停止/開始するタイミングで、レジスタの内容を退避したり復元したりしながらProcessの実行管理を行う
  • Processの管理のためには、対象のProcessが使用しているレジスタやメモリの情報を正しく記憶し、紐付けて管理する必要がある
  • Process管理のためのテーブルを「Process構造体」と呼ぶ
  • レジスタの内容を「コンテキスト」と呼ぶ

Process構造体に記録されている情報の一例

  • Processが使用したCPU単位
  • Processが使用しているメモリ空間のアドレス範囲
  • Processが使用しているファイル
  • Processが使用しているソケット/ポート番号
  • Process構造体の記録に基づいて、kernelが持つSchedulerがProcessの実行管理を行う

Scheduler

  • Processの切り替えを行うkernelの機能
  • 非常に短時間に複数のProcessに処理を切り替えることにより、複数のProcessが「同時に処理されているかのように」見せかける
  • Processの切り替えはProcessに対して設定されたプライオリティに基づいて実行される
  • Schedulerは実行するProcessの切り替えとあわせてコンテキストの保存や呼び出しなどの処理を同時に行う
    • Processの切り替えと同時に、新規に実行されるProcessが使用するレジスタ情報やメモリテーブル、ネットワークリソースなどがSchedulerにより用意される

Multi Processorと排他処理

  • マルチプロセッサやマルチコアのCPUを使用する場合にはプロセッサ/コアの数のProcessを同時に実行することができる
  • 複数のProcessが同時に実行できることは、同時に実行されるProcess間で排他処理が機能し、整合性が維持されることも同時に必要となる
  • 過度な排他処理はパフォーマンスの低下に結びつくため、適切な並行性を維持するバランスが必要となる
    • 特定のProcessがあるリソースを使用している場合、対象のリソース全体に対するアクセスを制限するのではなく、使用している部分のみに制限をかけることによって並行性が向上する
    • たとえば、リソースが本であった場合、本全体に対する読み書きを制限するのではなく、使用しているページに対する読み書きのみを制限することによって、他のProcessが他のページにアクセスすることを制限しない

スレッド

  • Processは継続的に実行され続ける用途に(一般的に)使用されるのに対して、スレッドは必要なときに一時的なものとして実行される
  • スレッドは実行資源としてメモリやファイル、ネットワーク等を必要とせず、必要な分のCPUリソースのみで実行される
  • スレッドは(一般的に)頻繁に生成/消滅するかたちで使用される

2007/11/27 (火)

[]創世のなんちゃら

朝から晩まで「合体〜」やら「きもちいぃぃぃ」やら、まじうざい。

[]kernel:Linuxの歴史

YYYY/MMVersionTopixSize[Ksteps]
1991/090.01インターネット公開-
1994/031.0Linux初の安定板公開86Ksteps
1994/041.1.0以降、バージョンの小数点第1位が奇数のものを開発版、偶数のものを安定板として扱う-
1995/051.1.95Version1.x最終リリース-
1996/052.0Version2.0系リリース330Ksteps
1999/012.2Version2.2系リリース786Ksteps
2001/012.4Version2.4系リリース1436Ksteps
2003/122.6Version2.6系リリース2502Ksteps
2004/022.0.40Version2.0系最終リリース-
2004/022.2.26Version2.2系最終リリース-
2005/052.4.31Version2.4系最終リリース-
  • 現在はVersion2.6系が主流として開発が続けられている
  • Linuxをシステムとして使用できる状態とするためには、kernelとライブラリやプログラム開発環境、各種アプリケーションなどが必要
  • Linuxを構成するプログラムを1つにまとめて提供されるパッケージを"ディストリビューション"という(Fedora, Ubuntu, etc...)
  • Linux kernelは開発者であるLinuxLinus Torvalds氏を中心に多くのボランティアにより開発が継続されている
  • 開発はコミュニティベースで行われ、一定の開発・検証体制が整備されている

2007/11/26 (月)

[]なんでもかんでも仮想化

http://sankei.jp.msn.com/release/tech/071126/tch0711260458002-n1.htm

ってつければいいもんじゃないと思う今日この頃。

別に文句はありませんけど。

[]書評:『ペトロバグ−禁断の石油生成菌』高嶋哲夫/文春文庫

ペトロバグ―禁断の石油生成菌 (文春文庫)

ペトロバグ―禁断の石油生成菌 (文春文庫)

原作が映画化された(「ミッドナイトイーグル」)ことで一躍有名になった高嶋哲夫の文庫版最新作。ミッドナイトイーグルは原作も読んでいないし、映画も観ていないが、なるほどたしかに科学的な知識に裏付けされていて文章力と構成力がある作家だということが本書を読んで伝わってきた。

それもそのはず、著者は慶応の工学部を大学院修士課程までを修了し、その後日本原子力研究所の研究員を経てカリフォルニア大学に進学したというバリバリの理系脳を持つエンジニア作家だった。地震や金融、環境異変に高性能爆弾、そして細菌と、そのテーマとして扱っている科学分野は幅広いが、ベースとなるスキルを持っているだけのことはあって、読者を引きつける世界観はさすがだ。

天才科学者山之内明が発明した奇跡の石油生成菌ペトロバグ。世界の石油市場を根本から覆す大発明に脅威を感じた国際石油資本とOPECは双方とも山之内拉致、殺害とペトロバグ略奪の指令を発した。だが、ペトロバグは恐怖の殺人生物兵器であることが判明、山之内は暗殺者に追われながら重大な決意を固める。

テーマがテーマなだけに、下手をするとまとまりのない、かつ薄っぺらい内容になってしまいがちな大風呂敷を広げた感が出てしまいかねない内容を上手くまとめ、世界的な謀略の動きと個人的な感情の動きの両面をしっかりと織りなすことができる著者ならではの作品といえるだろう。

結末は少々クサすぎるというか、予想できてしまう結末ではあったものの、読んでいて映像がリアルにイメージできる描写力は、やはり映画の原作として採用されるだけのことはある。科学技術サイエンスもの?好きの方にはおすすめな1冊。

2007/11/25 (日)

[]VCPもだんだんMCPみたいになってきたな

技術支援体制の拡充では、仮想化環境の構築支援、トレーニング強化のために、VMwareの認定資格「VCP」(VMware Certified Professional)資格保有者を現在の35人から今後1年以内に120人以上に拡大する。

http://www.atmarkit.co.jp/news/200711/21/vi.html

NECは1年以内にVCP所有者を120人以上にするそうな。そりゃすごいけど、だんだんVCPもMCP程度になっていきますね。資格取得に要するコストは桁違いなのに(4日間のトレーニング必須なので)。

[]kernel:Tools & Files(1) システム情報取得

  • システム情報取得
    • システム全体
/var/log/messages一般的なシステム情報を記録するログファイル
topCPU使用率、Process統計値、Memory使用状況などシステムの全体的な情報を表示する
/proc/statkernelやシステムの統計情報ファイル
  • "/var/log/messages"
[root@tkcent1 ~]# tail -f /var/log/messages
Nov 25 11:04:58 tkcent1 smartd[3021]: Home page is http://smartmontools.sourceforge.net/  
  • "top"
top - 11:07:36 up 3 min,  1 user,  load average: 0.38, 0.92, 0.45
Tasks:  75 total,   1 running,  74 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1025676k total,   255240k used,   770436k free,    10484k buffers
Swap:  2031608k total,        0k used,  2031608k free,   160880k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                     
 2515 root      20   0     0    0    0 S  0.3  0.0   0:00.06 vmhgfs                                                                                                       
 2584 root      20   0 10604  844  672 S  0.3  0.1   0:00.35 vmware-guestd                                                                                                
 2823 root      20   0 60236 2028  684 S  0.3  0.2   0:00.01 sendmail                                                                                                     
 2984 root      20   0 10180  640  548 S  0.3  0.1   0:00.15 hald-addon-stor                                                                                              
 3099 takao     20   0 71692 1512  916 S  0.3  0.1   0:00.05 sshd                                                                                                         
 3220 root      20   0 12584 1024  796 R  0.3  0.1   0:00.03 top        
  • "/proc/stat"
[root@tkcent1 ~]# cat /proc/stat 
cpu  1671 0 1795 20070 1508 66 57 0
cpu0 1671 0 1795 20070 1508 66 57 0
intr 259077
ctxt 52171
btime 1195956242
processes 3229
procs_running 1
procs_blocked 0
    • CPU・Hardware関連
sysreportシステム構成に関する情報を収集して表示する
mpstat/procfsの統計データのうち、CPUに関する情報を表示する
/proc/cpuinfoCPUに関する統計情報を表示する
  • "sysreport"
[root@tkcent1 ~]# sysreport

This utility will go through and collect some detailed information 
about the hardware and setup of your Red Hat Linux system.
This information will be used to diagnose problems with your system
and will be considered confidential information.  Red Hat will use
this information for diagnostic purposes ONLY. 

Please wait while we collect information about your system.

This process may take a while to complete....
No changes will be made to your system during this process.

NOTE: You can safely ignore a failed message. This only means a file
we were checking for did not exist.

If your system hangs while gathering rpm information, please abort
the script with CTRL-C and run it again after adding -norpm to the
sysreport command line

Press ENTER to continue, or CTRL-C to quit.


Getting system configuration information.

Determining Red Hat Linux version:                         [  OK  ]
Determinding your current hostname:                        [  OK  ]
Getting the date:                                          [  OK  ]
Checking your systems current uptime and load average:     [  OK  ]
Checking available memory:                                 [  OK  ]
Checking free disk space:                                  [  OK  ]
(中略)
Collecting Name Service Switch config information:         [  OK  ]
Collecting NIS client information:                         [  OK  ]
Collecting system configuration information:               [  OK  ]
Collecting information about system authentication (pam):  [  OK  ]

Getting information about the kernel.

Getting kernel version:                                    [  OK  ]
Checking module information:                               [  OK  ]
Checking module information autofs4:                       [  OK  ]
(中略)
Getting kernel command line                                [  OK  ]
Gathering information about your CPU:                      [  OK  ]
Gathering information about your Ram:                      [  OK  ]
Gathering information about your ioports:                  [  OK  ]
Gathering information about your interrupts:               [  OK  ]
Gathering information about your scsi devices:             [  OK  ]
Gathering information about your dma:                      [  OK  ]
Gathering information about your devices (/proc/devices):  [  OK  ]
Gathering information about your ide drivers:              [  OK  ]
Gathering information about your bus:                      [  OK  ]
Gathering info on udev configuration:                      [  OK  ]

Getting disk and filesystem information.

Collecting information from /etc/fstab:                    [  OK  ]
Checking mounted file systems (mount)                      [  OK  ]
Checking mounted file systems (/proc/mounts)               [  OK  ]
Collecting Software RAID information (/proc/mdstat)        [  OK  ]
Collecting Software RAID information (mdadm -D /dev/md*)   [  OK  ]
Collecting Automount information (auto.master)             [  OK  ]
Collecting Automount information (auto.misc)               [  OK  ]
Collecting Automount information (auto.net)                [  OK  ]
Collecting LVM information:                                [  OK  ]
Collecting USB devices list (lsusb):                       [  OK  ]
Collecting global devices list (lshal):                    [  OK  ]

collecting information about commonly used network services

Collecting information from /etc/host.conf:                [  OK  ]
Collecting information from /etc/hosts:                    [  OK  ]
Collecting information from /etc/hosts.allow:              [  OK  ]
Collecting information from /etc/hosts.deny:               [  OK  ]
Collecting information about ypbind configuration:         [  OK  ]
(中略)
Getting Kerberos informations (/etc/krb5.conf)             [  OK  ]
Getting information about apache                           [  OK  ]
Getting information about apache (proxy_ajp.conf)          [  OK  ]
Getting information about apache (welcome.conf)            [  OK  ]
Getting information about CUPS (/etc/cups/classes.conf)    [  OK  ]
Getting information about CUPS (/etc/cups/client.conf)     [  OK  ]
Getting information about CUPS (/etc/cups/cupsd.conf)      [  OK  ]
Getting information about CUPS (/etc/cups/pdftops.conf)    [  OK  ]
Getting information about CUPS (/etc/cups/printers.conf)   [  OK  ]
Getting information about CUPS (/etc/cups/snmp.conf)       [  OK  ]

Gathering information from system logs

Collecting information from dmesg:                         [  OK  ]
Collecting messages files (/var/log/messages)              [  OK  ]
Collecting messages files (/var/log/messages.1)            [  OK  ]
Collecting maillog files (/var/log/maillog)                [  OK  ]
Collecting maillog files (/var/log/maillog.1)              [  OK  ]
Collecting information (/var/log/rpmpkgs)                  [  OK  ]
Collecting information (/var/log/boot.log)                 [  OK  ]
Collecting information (/var/log/secure)                   [  OK  ]
Collecting log files from Apache                           [  OK  ]

Getting information about RHN


Gathering information on SELinux setup

Collecting log files from RHN                              [  OK  ]

Please enter your case number (if you have one): 

Please send /root/tkcent1.xxxxxxxx.local.2007112521349.tar.bz2 to your support
representative.

[root@tkcent1 ~]# 
  • "/proc/cpuinfo"
[root@tkcent1 ~]# cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 15
model name	: Intel(R) Core(TM)2 Duo CPU     T7500  @ 2.20GHz
stepping	: 8
cpu MHz		: 2194.374
cache size	: 4096 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx lm constant_tsc up arch_perfmon pebs bts rep_good pni ds_cpl ssse3 cx16 lahf_lm
bogomips	: 4395.03
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
    • Process関連
/proc/<Process ID>/statProcess状態を記録したファイル
ps実行されているProcessの一覧表示
pstree実行中Processのツリー表示
  • "ps"および"/proc/<Process ID>/stat"
[root@tkcent1 ~]# ps
  PID TTY          TIME CMD
 3128 pts/0    00:00:00 su
 3129 pts/0    00:00:00 bash
16884 pts/0    00:00:00 ps
[root@tkcent1 ~]# cat /proc/3128/stat
3128 (su) S 3100 3128 3100 34816 16902 4202752 455 0 2 0 1 0 0 0 20 0 1 0 7825 102563840 332 18446744073709551615 93824992231424 93824992254740 140734898832704 18446744073709551615 47851397857621 0 2147196671 0 16384 18446744071564403373 0 0 17 0 0 0 6
[root@tkcent1 ~]# pstree
init─┬─acpid
     ├─anacron
     ├─atd
     ├─auditd─┬─python
     │        └─{auditd}
     ├─automount───4*[{automount}]
     ├─avahi-daemon───avahi-daemon
     ├─crond
     ├─cupsd
     ├─dbus-daemon───{dbus-daemon}
     ├─2*[dhclient]
     ├─gpm
     ├─hald───hald-runner─┬─hald-addon-keyb
     │                    └─hald-addon-stor
     ├─hcid
     ├─klogd
     ├─mcstransd
     ├─6*[mingetty]
     ├─pcscd───{pcscd}
     ├─portmap
     ├─restorecond
     ├─rpc.idmapd
     ├─2*[sendmail]
     ├─smartd
     ├─sshd───sshd───sshd───bash───su───bash───pstree
     ├─syslogd
     ├─udevd
     ├─vmware-guestd
     ├─xfs
     └─yum-updatesd
    • メモリ関連
freeメモリ使用量と空き容量の表示
/proc/meminfo使用中/未使用のメモリ情報の表示
/proc/sys/vm/overcommit_memory仮想メモリのオーバーコミットの許可/禁止の表示
  • "free"
[root@tkcent1 ~]# free
             total       used       free     shared    buffers     cached
Mem:       1025676    1016964       8712          0      57308     794736
 -/+ buffers/cache:     164920     860756
Swap:      2031608          4    2031604
  • "/proc/meminfo"
[root@tkcent1 ~]# cat /proc/meminfo
MemTotal:      1025676 kB
MemFree:          9032 kB
Buffers:         76580 kB
Cached:         725080 kB
SwapCached:          8 kB
Active:         389028 kB
Inactive:       478652 kB
SwapTotal:     2031608 kB
SwapFree:      2031600 kB
Dirty:            4196 kB
Writeback:           0 kB
AnonPages:       66004 kB
Mapped:           9760 kB
Slab:           127724 kB
SReclaimable:   100416 kB
SUnreclaim:      27308 kB
PageTables:       3784 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   2544444 kB
Committed_AS:   114904 kB
VmallocTotal: 34359738367 kB
VmallocUsed:      8200 kB
VmallocChunk: 34359729339 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB
  • "/proc/sys/vm/overcommit_memory"
[root@tkcent1 ~]# cat /proc/sys/vm/overcommit_memory 
0
    • I/O関連
iostat/procfsが提供する統計データのうち、I/O処理に関する情報を収集して表示する
DAVL(Disk Allocation Viewer for Linux)HDDのフラグメンテーション状態の可視化ツール(http://davl.sorceforge.jp/)
    • ネットワーク関連
ifconfigNetwork Inferface情報の表示/設定
hostDNSによるホスト名検索
routeIP経路テーブルの表示/設定
tracerouteホストからホストまでのネットワーク経路の表示
ethtoolNIC状態の表示/設定
    • "ifconfig"
[root@tkcent1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:01:83:60  
          inet addr:172.16.108.132  Bcast:172.16.108.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe01:8360/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1348 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1027 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:115990 (113.2 KiB)  TX bytes:233098 (227.6 KiB)
          Base address:0x2040 Memory:e8940000-e8960000 
    • "route"
[root@tkcent1 ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.108.0    *               255.255.255.0   U     0      0        0 eth0
default         172.16.108.254  0.0.0.0         UG    0      0        0 eth0

2007/11/24 (土)

[]kernel:Network tuning - 受信バッファ・メモリ ソケット用メモリ

  • TCP/IPネットワークにおいて、チューニング対象となるパラメータは以下の2つがある
    1. 受信バッファ・メモリを増やす
    2. ソケット用メモリを増やす
  • メモリを増設した場合や、Gigabit Ethernetに変更した場合等に調整すると効果が高い
  • 受信バッファ・メモリを増やす
    • 受信バッファ・メモリのサイズは"/proc/sys/net/ipv4/tcp_rmem"に設定されている

現在の受信バッファ・メモリを確認する

[root@tkcent1 ~]# cat /proc/sys/net/ipv4/tcp_rmem 
4096	87380	4100096
    • 値は左から、最小値、デフォルト値、最大値

たとえば、最小値とデフォルト値を2倍にしてみる

[root@tkcent1 ~]# echo '8192 174760 4100096' > /proc/sys/net/ipv4/tcp_rmem 
[root@tkcent1 ~]# cat /proc/sys/net/ipv4/tcp_rmem 
8192	174760	4100096
  • ソケット用メモリを増やす
    • TCPソケット用に割り当てるメモリを増やすことによって、より多くのTCPパケットを処理できるようになる

現在のソケット用メモリを確認する

[root@tkcent1 ~]# cat /proc/sys/net/ipv4/tcp_mem 
96096	128128	192192
    • 値は左から、最小値、メモリ圧縮を開始する値、最大値
    • 単位はページサイズ単位(通常は4KB単位)

すべての設定値を2倍にしてみる

[root@tkcent1 ~]# echo '192192 256256 384384' > /proc/sys/net/ipv4/tcp_mem 
[root@tkcent1 ~]# cat /proc/sys/net/ipv4/tcp_mem 
192192	256256	384384

2007/11/23 (金)

[]書評:『のはなし』伊集院光/宝島社

この本は、お風呂で30%、トイレで20%、布団の中で30%、その他20%というかんじで読んだ。通勤本にするには、ちょっと吹き出してしまいそうで怖かったというのもあるが、そうやって読む本だ(と決めつけてみる)。

のはなし

のはなし

id:ozat備忘録をきっかけとして購入した本書だが、前々から気にはなっていたのでいい後押しといったかんじ。芸能人本は安いという通説?どおり、本書も\1200円也。十分お買い得だ。

tu-kaのメールマガジン用にかかれた750篇ほどの原稿から、80篇を抜き出して1冊にまとめたのが本書だとのことなので、ぜひ第2弾もお願いしたい。時事ネタはちょっと厳しいかもしれないが、あと1冊分ぐらいなら十分書籍化に耐えられるものも残っているはずだから。

最近はラジオも聞いていないので、クイズ番組の解答席に座っているときぐらいしか伊集院光の声を聞かないのだけれども、勉強はできなくても頭の良いタイプだと思う。本書は伊集院光のぶっちゃけ話が満載なのだが、ただの自分の話として終わってしまわず、「あー、わかる」だったり、「そうそう、そうだよね」と読者が共感できる話を数百文字程度にまとめられる才能は誰もが持っている訳ではない。

  • 「あそこが痒い」の話

二年ぐらい前だろうか、おちんちんが急に痒くなって困ったことがある。この書き出し、タレントがしれっと書くような話じゃない。まして、初っぱなから書く話でもないだろう。しかしこの本を、いま偶然に取り、買おうか買うまいか迷っているあなたが「こんな恥ずかしい話を立ち読みするのはちょいと恥ずかしい」とばかりに購入してくれればこれ幸い、続けることにする。

と始まる本書。あいうえおかきくけこ・・・と50音順にタイトル付けされた話が並べられているのだが、さすが三遊亭楽太郎の弟子。ちゃんと書籍としてまとめられてもちゃんと頭にとっかかりが用意され、ちゃんと最後に落ちがついているところがよい。

書き始めた時には思いもよらなかった書籍化だが、書店に並んだ姿を見たら思わず涙を流すと思う。うんこをもらすと思う。万引きはしないと思う。

うんこを漏らしたかどうか、ぜひ伊集院光には次の作品で明らかにしてほしいところだ。

[]GIVE UP ON VISTA

D

ははは。"DON'T GIVE UP ON VISTA"は見たことありました。

たしかにMac OS Xの正統な?進化に比較して、Windowsはいびつなかたちで進化を続けている気がしますが。

[]kernel:Memory Manage(4) OOM Killer

  • 空きメモリを確保する仕組みとして"OOM Killer(Out of Memory Killer)"というものがある
  • OOM Killerは、空きメモリが足りない場合に強制的にProcessを終了させて強引に空きメモリを確保する
  • OOM Killerは、空きメモリが確保できないためにシステム全体が停止してしまうことを防止するために用意されている
  • OOM Killerはシステム停止を防止するために必要な機能だが、OOM Killerによる強制終了は大切なProcessを停止させてしまう危険性がある
    • クラスタシステムなどにおいて、クラスタ監視Processが強制停止させられてしまった場合、それが原因となってクラスタの障害が発生してしまう危険性がある
    • kernel2.6.17.1向けにOOM Killerを使用せずにkernel panicを起こさせるパッチが投稿された。これを使用すると、空きメモリが確保できない場合にはkernel panicによりシステムが停止することにより、クラスタの切り替わりは正常に実施されることになる

OOM Killerに対するチューニング方法

  • (1)優先度を下げて強制終了を回避する
    • kernel2.6.11以降では、OOM Killerの対象となるProcessの優先度を設定できるようになった
    • "/proc/<Process ID>/oom_adj"ファイルに優先度を指定する
    • 指定可能な範囲は-16〜15まで、値が低いほどOOM Killerの対象となる優先度が低下する

実際にやってみた(topをバックエンドプロセスとして実行し、Process IDを指定して"oom_adj"値を0から10に変えてみる)

[root@tkcent1 ~]# top &
[1] 4185
[root@tkcent1 ~]# cat /proc/4185/oom_adj 
0
[root@tkcent1 ~]# echo 10 > /proc/4185/oom_adj
[root@tkcent1 ~]# cat /proc/4185/oom_adj 
10
    • このように設定することにより、Process 4185で実行されているtop Processは、他のProcessと比較して強制終了させられる可能性が高くなる
    • kernel2.6.12-rc3以前は、OOM Killerにより強制終了させられない例外ProcessはProcess ID1の"init"のみだったが、"oom_adj"値として-17を指定することにより、OOM Killerの対象外とするProcessを任意に指定することが可能となった

実際にやってみた(topプロセスの"oom_adj"値を-17に設定してみる)

[root@tkcent1 ~]# echo -17 > /proc/4185/oom_adj 
[root@tkcent1 ~]# cat /proc/4185/oom_adj 
 -17
    • "oom_adj"値として-17を指定することによって、OOM KillerによるProcessの強制終了の対象から除外することが可能となるが、多くのProcessを-17に設定した場合、空きメモリを確保する手段がないためにシステム自体がダウンする(kernel panic)可能性もあるので必要以上に設定することは推奨されない
  • (2)OOM Killerの実行自体を抑制する

OOM Killerに対して設定することが可能なパラメータ

パラメータ内容
0メモリ要求がされたが必要な空き容量が確保できない場合、実行中のProcessを強制終了させることにより空きメモリを確保する。
1実際にメモリを使い切ってしまう状態になるまでメモリがあるとして動作する。ただし、メモリを実際に使用する段階でメモリを確保できない場合には、実行中のProcessを強制終了させて空きメモリを確保する。
2実際のメモリ量を超えるメモリ要求があった段階でProcessに対してエラーが返される。Processの実行中にメモリ不足が原因でOOM Killerによる強制終了が実行されることはない。
    • OOM Killerのパラメータ値を調整するには、"/proc/sys/vm/overcommit_memory"値を設定する

実際にやってみた("/proc/sys/vm/overcommit_memory"値をデフォルトの0から2に変更してみる)

[root@tkcent1 ~]# cat /proc/sys/vm/overcommit_memory 
0
[root@tkcent1 ~]# echo 2 > /proc/sys/vm/overcommit_memory 
[root@tkcent1 ~]# cat /proc/sys/vm/overcommit_memory 
2

2007/11/22 (木)

[]Gmailをバックアップ?

Googleネタを書いたら、その下のAmazonアフィリエイトで紹介されていた「Gmailバックアップ」がとても気になった。

Gmailバックアップ

Gmailバックアップ

Gmailのバックアップソフトを売り出そうという発想が素晴らしい。しかもフリーソフトではなく、パッケージソフトとして。手元のパソコンのHDDと、Googleのデータセンターのどちらに信頼性があるのか、なかなか面白い議論ができそうなネタだ。普通に考えたらGoogleだろうけれども、もし問題がおこったら・・・。凄まじい数の利用者の、これまた凄まじい数の大切なメールが一斉になくなる。

うーん、Gmailバックアップか・・・私は買わないけど。

でもこのGmailバックアップを作っているデネットという会社、YouTubeiPodに簡単にインポートするuPodというソフトウェアや、+Lhacaをパッケージソフトとして+LhacaProとして売っていたりとなかなかチャレンジャーなかんじがしてなかなかよい。

[]Google Mapの細かーいUpdate

D

こういう細かい機能の追加がにくらしいですな。

2007/11/21 (水)

[]kenrel:Memory Management(3) posix_fadvise()

  • アプリケーションごとに最適なPage Cacheの容量は異なる
    • たとえばストリーミングサーバの場合、シーケンシャルなデータの書き出しをするため、Page Cacheは必要ない
  • kernel2.6では、アプリケーション側からデータのアクセスパターンをkernel側に宣言するシステムコール"posix_fadvise()"が用意された
    • プログラムのコードにこのシステムコールを含めることにより、利用するPage Cacheの量をアプリケーションの特性にあわせることができる

posix_fadvise()関数の引数

アクセスパターン内容
POSIX_FADV_NORMAL特に特徴のないアクセスパターン/デフォルト
POSIX_FADV_SEQUENTIAL指定されたデータにシーケンシャルにアクセスするパターン
POSIX_FADV_RANDOM指定されたデータにランダムな順番でアクセスするパターン
POSIX_FADV_NOREUSE指定されたデータには1度しかアクセスしないパターン
POSIX_FADV_WILLNEED指定されたデータにすぐに再度アクセスするパターン/この場合、一定間隔Page Cacheを維持する
POSIX_FADV_DONTNEED指定されたデータにはすぐには再度アクセスしないパターン/この場合、積極的にPage Cacheを解放する

[]Xen on Hatena.

id:naoyaのHatena::Dialy::naoyaに「さくらインターネット移行記#5久々の移転作業」が掲載されています。しぶとく?自社製サーバフレームを使い続けながらも、用途や目的によってはサーバベンダー製の(主にDell製とSun Microsystems製のシングルソケット1Uサーバを使用されているみたいですね)安価な(でありながら、それなりの完成度のサーバを組み合わせて自分たちが使いやすいインフラ環境を作り上げている模様です。

旧サーバーからディスクドライブを外して新サーバーに接続、dd でパーティションごと先頭から末尾まで丸ごとコピーします。こうするとディスクの読み出しがシーケンシャルになるため、回転部品で出来ているハードディスクの性能を十分に出し切った状態でコピーを行うことができます。

http://d.hatena.ne.jp/naoya/20071120/1195552548

このあたりの発想は面白い。ddでまるまるrawコピー、と。ふむふむ。

最近はハードウェア側、ソフトウェア側共に仮想化の技術がすごい勢いで進歩していて、仮想化することによるオーバーヘッドはある程度無視できる程のレベルになってきています。最近 Xen を使いはじめて徐々にプロダクションでも使いはじめていますが、いまのところ Xen のオーバーヘッドが問題になったケースもありません。

CentOSUbuntuなど、メジャーどころのフリーディストリビューションXenを標準対応し始めたので、HatenaでもXenの本格使用が始まった模様です。面白いですね、仮想化はトレンドなところもありますが、VMwareXenが両立していることで、WindowsとLinuxのように企業ユーザにも、Hatenaのようなネットベンチャーにも受け入れられています。特にCPUのマルチコア化は非常に仮想化と相性がよく(というか、仮想化以外になかなかマルチコアを有用に使えるソリューションがあまりない)、今後もハードウェアの進歩(=CPUのさらなるマルチコア化)にともない、仮想化はきっと一般的なIAサーバ技術になっていくのではないかと思います。

いまはてなのサーバーは古いものも併せるとおそらく 300 〜 400 台程度になります。さすがにこのぐらいの台数になると、サーバーの情報を整理するだけでもひと仕事です。どこにどのサーバーが入っていて、どういう用途で使われていて、どういうスペックになっていて、どの程度負荷がかかっているか。

ここ最近まではてなグループのキーワードでちまちま手作業でやってたのですが、あまりに面倒なので id:stanakaid:hideoki が中心になって社内向けウェブアプリケーションを自作しました。

自分たちでウェブアプリケーションを作って対処してしまおうという考え方がさすが。一般の管理ツールはたしかに大多数への汎用性を必要とするだけにカスタマイズ性が低いというか、微妙にかゆいところに手が届かない感があるので、あくまでも1から作るのではなく、自分たちが必要とする「痒いところに手を届かせる孫の手のような」かたちで簡単にウェブアプリケーションを作ってしまうというのはいい考え方だと思います。

今はまだただの Web + DB アプリケーションですが、いずれ負荷状況に応じて Xen のノードを動的に移動させたり、監視システムと連動させてそのあたりも手間要らずにする...なんてことを考えています。

APIやコマンドをバックエンドでつつけばいくらでも作り込める訳で、このあたりがオープンソースな製品を「使いこなせる」強みなのでしょうね。

分業化が進んでいるIT業界ですが、アプリケーションからハードウェアまでの幅広いレイヤーに目を向け続けていきたいものです。

2007/11/20 (火)

[]kernel:Memory Manage(2) min_free_kbytes

  • Writeback処理の完了=Page Cacheの解放、ではない
  • Writeback後、Page回収処理により実際にメモリ空間が解放される
  • 頻繁にPage回収処理を実行することにより、無駄なCache Memoryを削減し、メモリ空間の確保(=効率的なメモリの使用)ができる
  • 空きメモリ容量の下限値は"min_free_kbytes"パラメータで設定される
  • デフォルトの"min_free_kbytes"値は(4×√マシンの総メモリ量)である
    • たとえば、1GBのメモリを搭載したマシンでは、4×√1024で、4096kbytesとなる。この場合、空きメモり容量がこの値を下回った場合、ページ回収処理が実行される。この値をより大きくすることにより、より早い段階でページ回収処理が実行されるようになる

現在の"min_free_kbytes"値を確認する

[root@tkcent1 ~]# cat /proc/sys/vm/min_free_kbytes 
4051

ページ回収処理の実行値"min_free_kbytes"の設定変更

[root@tkcent1 ~]# echo 8192 > /proc/sys/vm/min_free_kbytes 
[root@tkcent1 ~]# cat /proc/sys/vm/min_free_kbytes 
8192
  • ただし、"min_free_kbytes"値を不用意に大きくすることは推奨されない
    • システムにおいて常に指定した値の空きメモりを必要とするようになるため、逆にメモリを効率的に使用することができなくなる

2007/11/19 (月)

[]kernel:Memory Manage(1) Page Cache & Writeback

  • Linuxでは空いているMemoryは積極的にファイル用のCacheに使用する
  • MemoryはPageという単位で分割して管理されており、Cacheに使用されているMemoryをPage Cacheと呼ぶ
  • Memoryのチューニングのポイントは無駄なPage Cacheを残さないこと
  • Page Cacheにデータを書き込んだ時点でProcessからの書き込み処理は終了するが、実際のデータの書き込みはHDDに後に書き込まれる(Writeback処理)
  • LinuxにおけるWriteback処理は、"pdflush"というデーモンが担当する

"pdflash"デーモンのパラメータ

パラメータ内容
vm.dirty_backgroudo_ratioProcessの書き込み処理は終了したがまだWritebackされていないPageの、全物理Pageに対する割合(%)が"vm.darty_backgroud_ratio"で指定した値を超えているとpdflashによるWriteback処理が実行される。よって、値を小さくすればするほど頻繁にWriteback処理が実施されることになる。"vm.darty_ratio"値よりも大きな値を設定しても無視される。一般的に"vm.darty_ratio"の半分の値が用いられ、デフォルトでは10%が設定されている
vm.dirty_ratio"vm.darty_ratio"値を超えてProcessがPageを作成したタイミングで、Page Cacheを作成したProcess自身がWriteback処理を行う。Page Cacheの割合が、"vm.darty_background_ratio"よりも高く、"vm.darty_ratio"よりも低い場合にはWriteback処理はバックグラウンドで実行される(優先度は低く実行される)。逆に"vm.darty_ratio"よりも高い場合にはWriteback処理はフォアグラウンドで実行される(優先度は高く実行される)。最小値は5%、デフォルト値は40%
vm.dirty_expire_centisecs"vm.darty_expire_centisecs"で指定した時間間隔で強制的にWriteback処理が実行される。デフォルト値は3000(10ms単位)
vm.dirty_writeback_centisecs"pdflash"デーモンが起動される間隔。定期的に Page CacheをWritebackする。デフォルト値は500(10ms単位)
  • 最も効果のあるパラメータは"vm.darty_ratio"の値を小さくし、Writeback処理を頻繁に、かつ優先度を高く実行させるように設定すること

パラメータ変更の方法

  1. "/etc/systl.conf"書き換え
  2. "sysctl"コマンド
  3. "procfs"による

CentOS5のデフォルトの"/etc/sysctl.conf"

[root@tkcent1 etc]# cat sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296

デフォルトのパラメータ値が"/etc/sysctl.conf"に記述されていない状態での"vm.dirty_ratio"値を確認する

[root@tkcent1 etc]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
[root@tkcent1 etc]# /sbin/sysctl vm.dirty_ratio
vm.dirty_ratio = 40

"/etc/sysctl.conf"ファイルを修正し、修正内容を適用する(ここでは"vm.darty_ratio = 30"を追加記述した)

[root@tkcent1 etc]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
vm.dirty_ratio = 30

現在の"sysctl.conf"ステータスを確認する

[root@tkcent1 etc]# /sbin/sysctl vm.dirty_ratio
vm.dirty_ratio = 30

"sysctl"コマンドを使用して"vm.dirty_ratio"値を変更する(ここでは値を30から40に変更する)

[root@tkcent1 etc]# /sbin/sysctl -w vm.dirty_ratio=40
vm.dirty_ratio = 40
[root@tkcent1 etc]# /sbin/sysctl vm.dirty_ratio
vm.dirty_ratio = 40

procで"vm.dirty_ratio"値を確認する

[root@tkcent1 ~]# cat /proc/sys/vm/dirty_ratio 
40

procで"vm.dirty_ratio"値を変更する

[root@tkcent1 ~]# echo 30 > /proc/sys/vm/dirty_ratio 
[root@tkcent1 ~]# cat /proc/sys/vm/dirty_ratio 
30

sysctlコマンドやprocによる修正は再起動により無効になるため、パラメータの調整をこれらの方法により行い、最適値を確認の上で"/etc/sysctl.conf"ファイルへの修正を行う

2007/11/18 (日)

[]kernel:I/O Schedule

  • CPUリソースの割当スケジュールとは別に、デバイスI/Oもスケジューラがある(I/Oスケジューラ)

kernel2.6がサポートするI/O Scheduler

Name内容
Complete Fair Queueing(CFQ)ProcessごとにQueueを割り当て、各Queueに均一の帯域幅を、I/O要求に優先度を設定する。優先度に基づきI/Oが処理される
deadline特定の時間を経過しても実行されていないI/O処理を優先的に処理する(長時間I/O処理が実施されないことを防止する)。データベース管理システムのI/O処理等に向く
anticipatorydeadlineスケジューラ改良型。Processごとの統計情報に基づき、一般的に連続的なI/O要求を行う傾向があることを利用して一連のI/O処理をまとめて実行するようにする
noop要求順でのI/O処理
  • CFQはkernel2.6.18以降でのデフォルトI/Oスケジューラ
  • CFQはすべてのI/O要求を一度Queueに蓄積し、優先度に基づいてI/O処理を実施する。Processごとに割り当てられる帯域は均等であるため、高負荷の状態でもI/O処理を継続させることに向いている
  • anticipatoryは2.6.17までのkernelにおけるデフォルトI/Oスケジューラ。一定時間I/Oを蓄積してから連続的な処理をまとめて実行することによりデバイス読み込みなどの処理性能を高め、総合的なI/O性能の向上を図る

現在使用しているI/Oスケジューラを確認してみる

[root@tkcent1 ~]# cat /sys/block/sda/queue/scheduler 
noop anticipatory deadline [cfq] 
  • 使用するI/Oスケジューラを変更するには、echoでschedulerファイルにI/Oスケジューラ名を埋め込む

I/OスケジューラをCFQからanticipatiryに変更してみる

[root@tkcent1 ~]# echo anticipatory > /sys/block/sda/queue/scheduler 
[root@tkcent1 ~]# cat /sys/block/sda/queue/scheduler 
noop [anticipatory] deadline cfq 
  • I/Oスケジューラの種類を問わずに使用することができるチューニング・パラメータとして、I/O request queueの最大長を指定する"nr_requests"がある

現在の"nr_requests"値を確認する

[root@tkcent1 ~]# cat /sys/block/sda/queue/nr_requests 
128
  • ここでの値の単位はI/O要求数。値を増やすことによりより多くのI/O要求を受け付けられるようになるが、I/Oデバイスの種類によってはQueueが長過ぎる状態となり、逆にパフォーマンスが悪化する場合もある(一般的に非同期I/O処理を行うI/Oデバイスでは有用)

"nr_requests"値を256に変更してみる

[root@tkcent1 ~]# echo 256 > /sys/block/sda/queue/nr_requests 
[root@tkcent1 ~]# cat /sys/block/sda/queue/nr_requests 
256

2007/11/17 (土)

[]kernel:schedule(2) / Scheduling Algorithm

  • nice値を小さくすることにより優先度をあげることができるが、実行待ちが多いプロセスはbonus値が大きくなり、動的に優先度が上げられる
  • よって、必ずしもnice値を小さくすることによりプロセスが優先して処理されるわけではない
  • プロセスの優先処理を意図するようにするためには、プロセススケジューリングのために使用するポリシーを別のスケジューラを使用するよう変更する
  • 使用するスケジューラの選択は、デフォルトとは異なるスケジューラを使用したいアプリケーションプログラムにおいて設定する

Sheduling Algorithm

Algorithm NamePolicy Name仕組み/動作
First-IN/First-OUTSCHED_FIFO時分割を用いない単純なスケジューリングアルゴリズム。SCHED_OTHERもしくはSCHED_BATCHスケジューラを使用しているProcessが実行されている際にSCHED_FIFOスケジューラが選択されているProcessが実行可能になると、直ちに既存のProcess処理を中断してSCHED_FIFOを使用しているプロセスが実行される。SCHED_FIFOスケジューラを使用したProcessは、I/O要求により停止するか、より高い優先度を持ったProcessにより置き換えられるか、CPUを解放する(sched_yield()を呼び出す)まで継続して実行される
Round RobineSCHED_RRSCHED_FIFOに時分割機能を加えたスケジューラ。各Processは割り当てられた時間の分までProcessを実行する。優先度ごとに処理待ちのQueueにまわされ、次の時間割当を待つ
優先度付き時分割SCHED_OTHERリアルタイム性を必要としないProcessで使用するスケジューリングアルゴリズム。Process実行の優先順位はnice値によって決定されるが、待ち状態のProcessに対して待ち時間単位でbonusが割り当てられ、優先度が高められる。Kernel2.6におけるデフォルトスケジューリングアルゴリズム
バッチSCHED_BATCHこのスケジューリングアルゴリズムを選択したProcessは最低の優先度を与えられ、システムがアイドル状態となる(実行されるProcessがない状態となる)直前に実行される。バックグラウンドで実行され、かつ時間的な正確性を必要としないProcess(DBのインデックス付け処理など)のスケジューリングとして使用される

[]kernel:schedule(1) / nice

  • Linuxのkernelでは、各アプリケーションをプロセスとして扱う
  • 複数のプロセスを同時に実行するため、プロセス実行の順序の整理などをkernelのスケジューラが行う
  • kernel2.6のスケジューラは優先度に基づく時分割実行を行う"Order One Scheduler(O(1)スケジューラ)"を採用している
  • 実行待ちプロセスを管理するRun QueueがCPUごとに用意される
  • 各Run Queueには、2種類の優先度付きQueueがある:active queueとexpired queue
  • どちらのQueueについても、140レベル(0〜139)の優先度に分かれており、優先度別に複数のプロセスを登録することができる
  • Active Queueには実行可能なプロセスが登録され、優先度に基づいて順次実行される
  • 各プロセスがCPUを使用できる時間をTime Slice/Quantumと呼ぶ
  • Time Sliceはプロセスごとに定義され、プロセスはQuantumで定義された間のみ処理を実行する
  • 割り当てられたTime Sliceで処理が完了できなかったプロセスはexpired queueに登録される
  • active queueに登録されたプロセスがすべて処理されると、expired queueとactive queueが切り替えられる(expired queueがactive queueに変更される)
  • プロセスの優先度を制御することにより、アプリケーションの処理性能を変化させることができる
  • プロセスの優先度は"nice値"という値により制御する
  • nice値で設定することができる値は-20〜19までの整数値であり、値が小さいほど優先度が高くなる
  • デフォルトのnice値は0
  • 現在実行中のプロセスのnice値を確認するには、"ps -lax"コマンドを使用する

NIがnice値を示す

[root@tkcent1 include]# ps -lax
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0     1     0  20   0  10316   660 -      Ss   ?          0:00 init [3]                                   

nice値を変更する方法は、コマンドによる設定とソースコードに関数を埋め込む方法がある

  • reniceコマンド
  • 実行中のプロセスのnice値を変更するコマンド
  • スーパーユーザはすべてのプロセス、一般ユーザは自信が所有するプロセスのnice値を「下げる」ことだけが可能
  • プロセスIDに対して設定するnice値を指定する

プロセスID50のnice値を10に変更する例

# renice 10 -p 50

実際にやってみた(topプロセスをバックエンドで実行して、そのnice値を変更してみる)

[root@tkcent1 include]# top &
[1] 14523
[root@tkcent1 include]# ps lax | grep 14523
0     0 14523  2991  20   0  10488   696 finish T    pts/0      0:00 top
0     0 14525  2991  20   0  64520   800 pipe_w S+   pts/0      0:00 grep 14523

[1]+  Stopped                 top
[root@tkcent1 include]# renice 10 -p 14523
14523: old priority 0, new priority 10
[root@tkcent1 include]# 
[root@tkcent1 include]# ps lax | grep 14523
0     0 14523  2991  30  10  10488   696 finish TN   pts/0      0:00 top
0     0 14530  2991  20   0  64520   800 pipe_w S+   pts/0      0:00 grep 14523
[root@tkcent1 include]# 
  • niceコマンド

プロセスの起動時にnice値を設定することもできる

実際にやってみた(普通に実行した場合とniceコマンドでnice値を指定して実行した場合の違いを確認する)

[root@tkcent1 include]# top &
[1] 14558
[root@tkcent1 include]# nice -n 5 top &
[2] 14559

[1]+  Stopped                 top
[root@tkcent1 include]# ps lax | grep top
0     0 14558  2991  20   0  10488   696 finish T    pts/0      0:00 top
0     0 14559  2991  25   5  10488   696 finish TN   pts/0      0:00 top
0     0 14561  2991  20   0  64520   804 pipe_w S+   pts/0      0:00 grep top

[2]+  Stopped                 nice -n 5 top
[root@tkcent1 include]# 
  • プログラムにnice値を埋め込む場合は、プログラムのソースコードで nice (<nice値>); 関数を記述してコンパイルする
  • nice関数の記述はプログラムのどこでもかまわなく、nice関数が実行された時点でnice値の変更が実行される(優先度が変化する)
  • 一般ユーザが実行するプログラムではnice関数がある場合でも初期値より大きな値にすることしかできず、一度設定したnice値より小さい値に再設定することもできない
  • スーパーユーザが実行するプログラムではnice関数を使用することにより優先度を上げることができる
  • コマンドによる方法でも、関数を埋め込む方法でも、対象のプロセスによって生成される子プロセスは親プロセスのnice値を継承する

[]kernel:kernel source

Linuxのkernelは http://www.kernel.orgミラーサイトなどからダウンロードすることができる。

ダウンロードしたkernelファイルは、gzipやbzip2形式で圧縮されているので解凍する。

kernelソースは役割ごとにディレクトリ分類されている。

  • 基本機能
  • アーキテクチャ依存部
  • I/O (入出力)
  • セキュリティ
  • ツール・ライブラリ

実際のフォルダとしてはこんなかんじ。

[root@tkcent1 linux-2.6.23.1]# ls

COPYING Documentation MAINTAINERS README arch crypto fs init kernel mm scripts sound

CREDITS Kbuild Makefile REPORTING-BUGS block drivers include ipc lib net security usr

  • 基本機能
init起動・初期化処理
mmメモリ管理
kernelkernel基本機能(Process時間管理・割り込み処理等)
ipcプロセス間通信
archi386i386アーキテクチャ
x86_64x64アーキテクチャ

など

[root@tkcent1 arch]# ls

alpha avr32 cris h8300 ia64 m68k mips powerpc s390 sh64 sparc64 v850 xtensa

arm blackfin frv i386 m32r m68knommu parisc ppc sh sparc um x86_64

  • I/O
fsファイルシステム

ext3, nfs, ntfsなど

[root@tkcent1 fs]# ls

9p binfmt_elf_fdpic.c compat_ioctl.o eventpoll.c fuse jbd2 nfsctl.o quota_v2.c stat.o

Kconfig binfmt_em86.c configfs eventpoll.o generic_acl.c jffs2 nfsd quota_v2.o super.c

Kconfig.binfmt binfmt_flat.c cramfs exec.c gfs2 jfs nls ramfs super.o

Makefile binfmt_misc.c dcache.c exec.o hfs libfs.c no-block.c read_write.c sync.c

adfs binfmt_misc.o dcache.o exportfs hfsplus libfs.o ntfs read_write.h sync.o

affs binfmt_script.c dcookies.c ext2 hostfs lockd ocfs2 read_write.o sysfs

afs binfmt_script.o dcookies.o ext3 hpfs locks.c open.c readdir.c sysv

aio.c binfmt_som.c debugfs ext4 hppfs locks.o open.o readdir.o timerfd.c

aio.o bio.c devpts fat hugetlbfs mbcache.c openpromfs reiserfs udf

anon_inodes.c bio.o direct-io.c fcntl.c inode.c mbcache.o partitions romfs ufs

anon_inodes.o block_dev.c direct-io.o fcntl.o inode.o minix pipe.c select.c utimes.c

attr.c block_dev.o dlm fifo.c inotify.c mpage.c pipe.o select.o utimes.o

attr.o buffer.c dnotify.c fifo.o inotify.o mpage.o pnode.c seq_file.c vfat

autofs buffer.o dnotify.o file.c inotify_user.c msdos pnode.h seq_file.o xattr.c

autofs4 built-in.o dquot.c file.o inotify_user.o namei.c pnode.o signalfd.c xattr.o

bad_inode.c char_dev.c dquot.o file_table.c internal.h namei.o posix_acl.c signalfd.o xattr_acl.c

bad_inode.o char_dev.o drop_caches.c file_table.o ioctl.c namespace.c posix_acl.o smbfs xattr_acl.o

befs cifs drop_caches.o filesystems.c ioctl.o namespace.o proc splice.c xfs

bfs coda ecryptfs filesystems.o ioprio.c ncpfs qnx4 splice.o

binfmt_aout.c compat.c efs freevxfs ioprio.o nfs quota.c stack.c

binfmt_elf.c compat.o eventfd.c fs-writeback.c isofs nfs_common quota.o stack.o

binfmt_elf.o compat_ioctl.c eventfd.o fs-writeback.o jbd nfsctl.c quota_v1.c stat.c

blockブロックデバイス
netネットワーク

ipv4, ethernet, 8021qなど

[root@tkcent1 net]# ls

802 Makefile ax25 compat.c decnet ipv4 iucv mac80211 netrom rose socket.c sysctl_net.o wireless

8021q TUNABLE bluetooth compat.o econet ipv6 key netfilter nonet.c rxrpc socket.o tipc x25

9p appletalk bridge core ethernet ipx lapb netlabel packet sched sunrpc unix xfrm

Kconfig atm built-in.o dccp ieee80211 irda llc netlink rfkill sctp sysctl_net.c wanrouter

driversデバイスドライバ

[root@tkcent1 drivers]# ls

Kconfig atm cdrom dio firmware infiniband macintosh misc oprofile power scsi telephony zorro

Makefile auxdisplay char dma hid input mca mmc parisc ps3 serial uio

acorn base clocksource edac hwmon isdn md mtd parport rapidio sh usb

acpi block connector eisa i2c kvm media net pci rtc sn video

amba bluetooth cpufreq fc4 ide leds message nubus pcmcia s390 spi w1

ata built-in.o crypto firewire ieee1394 lguest mfd of pnp sbus tc xen

soundサウンド
  • セキュリティ
securityセキュリティ

SELinuxなど

[root@tkcent1 security]# ls

Kconfig built-in.o capability.o commoncap.o dummy.o inode.o root_plug.c security.o

Makefile capability.c commoncap.c dummy.c inode.c keys security.c selinux

crypto暗号処理
  • ツールライブラリ
includekernelヘッダファイル
libkernel内ライブラリ・ルーチン(文字列処理、排他処理など)
scriptsコンパイル用ツール
usrkernel内ツール

[]Wiiフィット

TVCM:「ボードに乗ります。・・・『太り気味です』」

彼女さん:「んなことWiiにいわれたかないな」

ははは。

Wiiフィット (「バランスWiiボード」同梱)

Wiiフィット (「バランスWiiボード」同梱)

[]書評:『真夜中の神話』真保裕一/文春文庫

たまには小説も読まないと、どーも読書機能?に「かたより」が生じてしまうので。

真夜中の神話 (文春文庫)

真夜中の神話 (文春文庫)

真保裕一の作品を読んだのは初めてであったが、スペクタルサスペンス?小説としてはなかなか面白かった。文庫で500ページ程度というそこそこの分量もちょうど良い。通勤本として1週間で読むとすると、この程度がちょうどいいからだ。

薬学の研究に没頭した挙げ句、夫と娘を失った栂原晃子は、新たなテーマを求めてインドネシアに向かうが、飛行機墜落事故に巻き込まれる。だが奇跡的に助かった晃子は、山奥の村で神秘的な歌声を持つ少女と出会い、驚異的に快復した。一方、町では猟奇的な殺人事件が発生していた−。

正直、最後の結末は「あー、やっぱりね」といった感じではあったのだが、科学的な部分と神秘的な部分がバランスよく含まれており、読んでいて「これはどういうことだ?」ということはない。スムーズに読み進められるという意味でも通勤本向きだ。

アクション部分の文書の躍動感はやはり福井晴敏の方が上手だと感じたが、情報の小出しというか、真相に迫っていく流れ作りは真保裕一、といったかんじだろうか。

新書やら技術本やらにだいぶ比重が偏っていた読書バランスのリハビリにはよい本でした。上下刊とかになっていないところもいいですね。

あと、なんと言っても通勤本として小説は「物語に引き込まれる」為に、眠くならずに読めるところがいいなと思いました。

通勤時間が手持ち無沙汰な方はぜひ。やっぱり文庫本は持ち歩きが楽です。

2007/11/16 (金)

[]Dellのポートフォリオ

Dellが今年2件目の管理ソフトウェア企業を買収した。

Dellは11月15日、リモートデスクトップ管理ソリューションをSaaSで提供している米国の未公開企業、Everdreamを買収する契約を結んだ。買収の条件は非公開。

Dellによるリモート管理ソフトウェア企業の買収は、SilverBack Technologiesに続くもの。同社はこの買収により、顧客のIT環境のリモート管理をエンド・ツー・エンドで提供できるとしている。

http://www.itmedia.co.jp/enterprise/articles/0711/16/news038.html

DellIBMやHPと比較して、ソフトウェア事業の比率が非常に小さい企業であったが、システム管理という切り口で次第にソフトウェア企業の買収を少しずつ進め始めている。ベンダー独自の管理ツールはベンダーロックインにつながるため、Dellがここ最近訴えているSimplify ITという路線に反している気がしなくもないが、同時にハードウェアと緊密に連携した管理ソフトウェアを提供できないことは近い将来、大きなマイナス要因となる可能性もあり、Dellとしては選択せざるを得ない道だったのかもしれない。

DellIBMやHPと比較してあまり買収に頼らない路線を歩んできていたが、Michel DellがCEOに復帰してから路線変更を進めだしている。10年後のDellはもしかしたら今とだいぶ違う会社になっているかもしれない。

2007/11/15 (木)

[]5000の壁論

アクセス数連携

アクセス数

ま、別にいいんだけど。

.co.jpドメインのアクセスランキング1位がnec、2位がfujitsuというのがなんとも不思議です。

[]Sun xVM

仮想化市場にSun Microsystemsも本格参入。

Sun Microsystemsは米国時間11月14日,オープンソースの仮想化プラットフォーム・ソフトウエア「Sun xVM」を無償提供すると発表した。大規模なデータセンター環境で仮想化サーバーを構築し,Windows,LinuxSolarisをゲストOSとして運用できる。

当初Sunが提供するxVMブランドのソフトウエアは,集中管理コンソール「Sun xVM Ops Center」とXen hyperviserベースの仮想化サーバー「Sun xVM Server」の2種類。Sunは,開発コミュニティ「OpenxVM」も運営し,データセンター向け仮想化/管理技術の開発を支援していく。

http://itpro.nikkeibp.co.jp/article/NEWS/20071115/287248/

仮想化統合管理ツールはxx Centerという名前がデフォルトになってきました。また、VMwareのライバルたちは必ずOpen xxというコミュニティを立ち上げるところなんかもどれもそっくりです。

ただ、仮想化市場のパイも広がっていますが競合もここまで多くなるとVMwareとその他いろいろ、みたいな感じになってしまった感もあります。x86は特定ベンダーにロックインされた規格ではないだけに、市場が一定の規模として成立すると一気に様々な競合製品が登場し、そしてその後淘汰されていって市場が落ち着く、ということを次々と繰り返してきましたがこの数年はその波が仮想化製品にやってきている模様です。

xVMはSPARCプロセサだけでなく,x86/x64アーキテクチャのプロセサに対応しており,米Dellや富士通,米Hewlett-Packard (HP),米IBMのサーバーでも利用できる。既に米Intel,米AMD,スウェーデンMySQL,米Quest Software,米Red Hat,米Symantecなどのハードウエア/ソフトウエア/OSベンダーがxVMへの対応を表明している。

Intelアーキテクチャ以外の規格の中ではしぶとくサーバ市場で生き延びてきたSPARC/Solarisですが、ここ最近はIntel Solarisが登場したこともあって直接的にIntel PCサーバベンダーとぶつかり合っています(というか、Sun Microsystems自体がもはやIAサーバベンダーになっていますけど)。後発として登場したSunのxVMがどれだけユーザに受け入れられるのかはまだわかりませんが、Sunらしくしぶとく市場に残り続け、いい刺激を仮想化市場に与え続けてほしいものです。

結局はOpenSolaris+Xenなわけですが、Windowsに対してLinuxが次第に意識せざるを得ない存在になっていったように、Xen連合?もVMwareを強烈にプッシュし続けていって下さいね。

http://www.openxvm.org/

[]ダウンタウン熱血行進曲DXそれゆけ大運動会

・・・がやりたいとずっと思っていたのですが、Ezwebで復活する!とのニュースが。

ツッパリは運動会をサボるという常識(?)を覆し、”くにお”や”りき”といったおなじみのキャラクターが運動会で火花を散らすファミコンの名作アクションゲーム『ダウンタウン熱血行進曲 それゆけ大運動会』が、EZwebで復活! ウェブドゥジャパンのEZweb用ゲームサイト”熱血硬派くにおくんEZ”で、2007年11月15日より新アプリ『ダウンタウン熱血行進曲DX』の配信サービスがスタートした。

http://www.famitsu.com/k_tai/news/1211932_1350.html

うー、DoCoMoユーザの自分はダメだなぁ・・・。でもよくよく考えてみると、あれは友達とやるから面白いのであって、一人で携帯でコンピュータ相手にやるというのはどうなんだろう・・・。うーむ。

勝ち抜き格闘で、鉄アレーでボコボコぶん殴っていた頃が懐かしいですネ。

[]Oracle VM

Oracle VM is server virtualization software which fully supports both Oracle and non-Oracle applications, and is three times more efficient than other server virtualization products. Backed by Oracle's world-class support organization, customers now have a single point of enterprise-class support for their entire virtualization environments, including the Linux operating system, Oracle Database, Fusion Middleware, and Application software―all of which are supported with Oracle VM.

http://www.oracle.com/technologies/virtualization/index.html

Oracleはこれまでより上位のレイヤへの積極的な展開をしていましたが、この1年は下位のOSレイヤに対して積極的な展開を見せています。Unbreakable Linux(Oracle Enterprise Linux)に続き、Oracle VMを発表しました。

Oracleとしては単に仮想化市場に進出するという意味よりも、OSからMiddlewareまでを一体で提供することにより、ユーザメリットを訴えるとともにOracleへの顧客のロックインをさらに強化しようという意図が見え隠れします。

たしかにMicrosoftのWindows-SQL ServerIBMAIX-DB2など、ライバル各社がOSからMiddlewareまでを一体化して提供することによりユーザを獲得しているだけに、Oracleとしてはこうした戦略を取ることは必要であったのかもしれません。

逆にいうと、Oracleという製品にコミットしてしまっているが故に、Oracleが仮想化市場で成功することは難しいのかもしれません。ただどちらにころぶとしてもXenベースということなので、Oracle VMというものにそれほど大きな投資をしたわけでもなく、リスクの少ないやり方ですので、Oracleとしても一種の保険のようなものなのかもしれません。

Oralceのこれまでの動きについては、id:ozatのBlog備忘録なども参考してみて下さい。

[][]VMware Server2β

仮想化製品の進化の速度が上がってきている今日この頃ですが、VMware Serverもβ版としてバージョンアップ、VMware Server2が登場しました。ゲストVMへの8GB Memory割当、64bit仮想マシンのサポートなど、驚きの機能はないものの、順当な進化を遂げています。Microsoft Virtual Serverよりは優れている点が多いので、VMware製品へのとっかかりとしてはよい入り口となるでしょう。

最近はVMware Serverで作った仮想マシンを環境の拡張に伴ってVI3環境へ移行させるユーザも出てきており、VMware Serverの無償提供はそれなりの効果があるみたいですね。

2007/11/14 (水)

[]VMware Fusion Unity

Mac OS X 10.5 LeopardWindows Vistaのメモ帳が動いている画像。この意味不明な無駄さがいいですね。

f:id:takaochan:20071114003942j:image

2007/11/13 (火)

[]VMware Fusion Version1.1 Build62573

VMware Fusionがバージョンアップし、日本語インターフェイスも組み込まれました。

f:id:takaochan:20071113215143j:image

まぁお客さんに導入するならVMwareの日本語版なんてやめますけどね、個人で使う分には便利です。

Windows VistaUbuntu、さらにはMonaまで色々と入れてみてます。なかなか面白い。Snapshotが1世代しか取れないなど、まだまだVMware Workstationと比較して劣る点がありますが、なんといってもMac OSの上で動いているというのが最大のポイント。Mac, Windows, Linux etc... Intel x86/x64で動くほぼすべてのOSが1台のノートPCで実行できるところがいい感じです。

f:id:takaochan:20071113220143j:image

[]他人のはてブRSS購読する!

という技を最近覚えた。梅田さん(id:umedamochio)のはてブとか自分がビビッときた?人のはてブを購読すると、洗練されたWebのクリッピングサービスを無料提供してもらえている感じで大変良い。個人的Web2.0体験だな(^_^;)。

[]Gmail 5GB

Gmailの使用可能容量が5GB近くまで急増しているので、使用済容量が15%近くから5%以下に低下。

いやー、がっちりGoogleにロックインされてるな、こりゃ。

[]書評:『頭脳勝負−将棋の世界』渡辺明/ちくま新書688

頭脳勝負―将棋の世界 (ちくま新書)

頭脳勝負―将棋の世界 (ちくま新書)

20歳で竜王位を獲得、現在23歳で3期連続防衛中。勉強ができるのとは違う意味で著者が「頭の良い」人であることがよくわかる一冊であった。本書は将棋(と将棋界)について、様々な角度から紹介・説明し、将棋の魅力を伝える内容なのであるが、多くの人が将棋や将棋の"プロ"に対して抱いている様々な疑問についてや、将棋にたいしてとっかかりにくいと感じている要因などについて丁寧に答え、とっかかりにくさを解きほぐそうとしている。将棋界の中心にいると言ってもよい立場にいながらも、一般の人の視点を踏まえて丁寧に書かれているところがすごい。大概、その道のスペシャリストは素人に自信の仕事や考えを、素人の立場に立って説明することができないからだ。本書を読めば、きっと将棋をやったことがない人も次に新聞で将棋欄を目にしたときふと目を留めるぐらいには、将棋に興味を持つようになるだろう。

  • 第1章 頭脳だけでは勝てない

偶然の少ないゲーム/集中力のメリハリ/ヤマを張る/気合いで行くか、冷静になるか/封じ手の駆け引き/直感の精度/ミスと切り替え/駆け引きは対局の前から/二大戦型/出来を左右する対局の重要度/普段のトレーニング/調子の良し悪し/将棋は何歳がピークか/小学生からプロを目指す/学業と将棋の両立/趣味と息子

  • 第2章 プロとは何か

奨励会制度/私の奨励会時代/将棋にコーチはいない/プロはどうやって稼ぐか/新しいニーズ/名人戦と棋士のランク/レッスンプロの待遇/段位と実力の関係/トップと新人の実力差は/女流棋士の強さ/女流新団体/アマとプロの差/強くなる手段に困らない時代/アマからプロになった男/ブロガー渡辺/コンピューターの進化/ボナンザ戦を受けた理由/いよいよボナンザ戦/コンピューターはどこまで強くなるか

  • 第3章 将棋というゲーム

スポーツを観るように将棋も/序盤は作戦を練る/バランスは相手を見て/互角でも好みはある/実利を求める中盤/方針を徹底する/勝負を決める終盤/実践を見よう!/駒のやりとりでポイントを稼ぐ/損得だけでなく「効率」も見る/スピードが問われる/定跡と研究/一手の違いで全く新しい世界が/現代将棋と過去の大棋士/トップ棋士たち/同世代のライバルたち/追撃する最若手と踏ん張るベテラン

  • 第4章 激闘!

防衛戦の前に/開幕二連敗/「開戦は歩の突き捨てから」/存在しない局面が見える!/流れを変えた角打ち/佐藤康光再び/突然の不調/超急戦/全く予想外/盲点/自分を信用すること

  • 付録1 ルール解説
  • 付録2 さらに将棋を楽しむために

将棋とは何か、将棋のプロ・将棋界とはなにか、将棋というゲームにおける流れ、将棋のプロの思考についてなど、本書は200ページちょっとの新書というボリュームの中に将棋の様々な面がぎっしりと詰め込まれている。単に将棋というゲームについての解説や、将棋界の仕組みについてだけでなく、現在将棋界をリードする面々についてや、著者の視点での将棋の開始から終了までの思考状況、将棋界のかかえる問題など幅広く、かつそのすべてを含んでいるところにこそ本書の価値がある。

丁寧に将棋のルール解説までが掲載されているところも親切。学術本のように、最後に付録として「さらに将棋を楽しむために」として将棋に興味を持った読者が次のステップとして進むべき道しるべを掲載しているところもよい。

将棋本でありながら、本書にはほとんど将棋面が出てこない。とはいえ、出てこない訳でもない。ほどよく、必要な面は掲載し、その読み方についてもさりげなく理解させるところも憎い。

そこらへんのコンピュータ将棋にもかなわないぐらいの素人将棋で十分なレベルなので、ちょっと久々にやってみようかなー。

2007/11/12 (月)

[]Project Blackbox

サン・マイクロシステムズは11月12日、輸送用コンテナにデータセンター機能を組み込んだ「Project Blackbox」(PBB)を日本で披露した。

http://www.itmedia.co.jp/news/articles/0711/12/news039.html

冗談のような現実、SunのProject Blackboxですが、日本でも公開されたようです。まぁ発想はいいんですが、日本人には受け入れられなさそうな気が。

そもそもそんなコンテナごときにデータセンターを移行しようという人もなかなかいないでしょうし、よーく読んでみると、なんとサーバ追加など、ラックの中をいじりたければラックまるまるをコンテナから引き出さないとダメだそうな。それじゃぁなぁ・・・。

別にSunのサーバ以外でも前面吸気モデルであれば対応できるらしいけど、うーむ、コンテナを外において使ったりしたら日本じゃ2,3年で錆びてマシン全滅、みたいな話になりそうだ。

[]円高ドル安進行

ちょっとFXをお休みしている間に凄まじい円高ドル安が進んでいる。おー、恐っ。

スワップ益を考えてしまうため、どうしてもドル買いしてしまいたくなる傾向の強いFXなので、ドル安は強敵。世界的にユーロに移行しつつあるので、ちょっと見極めが難しそうだ。手を出すとしても、ユーロ円かユーロドルかな。

まぁドル安のときに買っておくというのも手ではあるが、どこまで復調してくるか今のところ見えない。サブプライムローン問題もじわじわとその影響が表面化しつつあり、しばらくの間は不安定な経済状態が続きそうですね。

[]ロス・ブラウンがHonda Rasing F1 Teamに

フェラーリに復帰するものと思われていたロス・ブラウンがHondaに"Team Principal"として現場復帰することになった模様です。意外な結果ですが、これで2008年がより楽しみになってきました。Hondaの2007年は散々な結果だっただけに、2008年のHondaは結果が求められそうです。

http://www.hondaracingf1.com/php/lang_select.php

そして、ドライバーズとコンストラクターズの両方のタイトルを獲得したフェラーリはジャン・トッドが退任する模様です。この選択が、フェラーリにとってどういう結果をもたらすのかは不明ですが、新しい体制でさらなる結果を求めようとするどん欲さはさすがです。

http://www.grandprix.com/ns/ns19860.html

2007/11/10 (土)

[]『奥さまはマリナーゼ2』ほしのゆみ

買っちまったぃ。

奥さまはマリナーゼ2 (Next BOOKS)

奥さまはマリナーゼ2 (Next BOOKS)

[]ITは世界を変える?

江島健太郎のBlog"Kenn's Clairvoyance"の投稿「ニッポンIT業界絶望論」が多くのはてブを集めている様だ。

http://japan.cnet.com/blog/kenn/2007/11/09/entry_25001425/

日本のIT業界は救いようがない。絶望的としか言いようがない。

IT業界不人気なんて、この業界に重くのしかかる決して晴れることのない暗雲の氷山の一角に過ぎない。はてなの匿名ダイアリーにもどうせ理系出身者なんていらねえんだよ。なんて書かれていたけど、これが現実なのだよ、学生諸君。

きっとIT業界の多くの人が漠然と、日本のIT業界についてそうした思いをもっていたのだろう。このはてブ数はそれを暗に物語っている。

受託開発の世界のどこにイノベーションがあるのだろう?

別に受託開発が悪いとは思わないが、ここまで何でもかんでも受託開発がメインの会社が多いのはどうかと思う。ターゲットとする市場のサイズはともかく、一定の「市場」をターゲットとしたソフトウェアやサービスを開発するのであればともかく、特定の顧客、特定のユーザのみを対象として作られるソフトウェアはたしかに残念ながらイノベーションは起こせない。

アメリカなら、ソフトウェアの世界で本来の意味でモノ作りに携われる仕事がたくさんある。グーグルとかマイクロソフトとか、メジャーどころを足し上げていくだけでも10万人以上の雇用吸収力があるから、ごく平凡なスキルのプログラマでも大企業でそういった仕事に就く機会がある。それなりにいい給料で、ステータスもあって、定時に帰るという満足な生活を営むことができる。そういう意味では、外国人労働者との競争とかレイオフみたいな要素もあるけど、アメリカ人にとってのソフトウェアエンジニアという職業は日本に比べたらずいぶん楽できているのは間違いない。

私は別にMicrosoftやGoogleばかりがいいとはいわない。日本にも多くの、イノベーションを生み出す可能性を持った会社はある。ただ、英語の壁もきっとあるのだろうが日本ではその入り口は小さいことは確かだ。

現状がそうだとしても、ただ絶望していては前に進まない。日本が「だめ」でアメリカが「よい」とも限らないとは思う。しかし同時にイノベーションを生み出すことと、日々生活のために働いていくことを両立することが難しいことも現実だ。

できることは「ただ流される」ことだけにはならないよう、常に意識しておくことぐらいだろうか。

悩ましいですね。

[]書評:『ウェブ時代をゆくーいかに働き、いかに学ぶか』梅田望夫/ちくま新書687

ウェブ時代をゆく ─いかに働き、いかに学ぶか (ちくま新書)

ウェブ時代をゆく ─いかに働き、いかに学ぶか (ちくま新書)

梅田望夫(あえて本書では"さん"付けせずに書きます、勢いで書きたいので)の前著『ウェブ進化論』よりも私には100倍読み応えがあった。読み終わった後、じっくり考えてから書評をUpしようかと考えていたのだが、Blogらしく思いが熱いうちに文章を書き綴ってみる。

なぜ100倍読み応えがあったのか、それはIT業界?の端っこで仕事をしている私にとっては梅田望夫が見た「ウェブ進化論」よりも、梅田望夫がウェブ時代の到来に際して「どう考えているのか」、そして「何を伝えたいと考えているのか」ということの方が興味があったからだ。

どちらかというと、「ウェブ進化論」は新しい世界の誕生をよくつかめていない人を対象として、その新しい世界の持つ意味や役割、そしてそこで起ころうとしていることは何なのかということを梅田望夫の視点で説明した著書であったと思う。対して、本書「ウェブ時代をゆく」は、ウェブ時代という新しい世界が誕生し、これまでの世界とは異なる仕組みやルール、基準が存在する空間が大きく広がってきたということを認識した著者自身が、その新しい世界でどのように歩んでいくべきなのかを考え、そして自身の経験やこれまで歩んできた道を含めて読者に対して新しい世界における歩み方のガイドを試みている。私にとっては、梅田望夫が見た「あちら側」世界についてよりも、「あちら側」世界を認識した梅田望夫という個人そのものに興味があった。

梅田望夫「が」書いた本よりも、梅田望夫「を」書いた本の方が、そこに綴られた文章に込められた思いは強い。

  • 序章 混沌として面白い時代 

一身にして二生を経る/オプティミズムを貫く理由/「群衆の叡智」元年/グーグルと「産業革命前夜」のイギリス/学習の高速道路と大渋滞/ウェブ進化と「好きを貫く」精神/リアルとネットの境界領域に可能性/フロンティアを前にしたときの精神的な構え

  • 第一章 グーグルと「もうひとつの地球」

営利企業であることの矛盾/グーグルはなぜこんなに儲かるのか/奇跡的な組み合わせ/グーグルの二つ目の顔/「もうひとつの地球」構築の方程式/「経済のゲーム」より「知と情報のゲーム」/利便性と自由の代償としての強さを

  • 第二章 新しいリーダーシップ

人はなぜ働くのか/まつもとゆきひろが起こした「小さな奇跡」/オープンソース成功の裏には「人生をうずめている人」あり/ウェブ2・0時代の新しいリーダー像/ウィキペディアのリーダーシップ/「知と情報のゲーム」と「経済のゲーム」の間に起きる齟齬/事業機会を失ってもコミュニティの「信頼」を/なぜネットでは「好きなことへの没頭」が続けられるのか/良きリーダーの周囲に良き「島宇宙」ができる/総表現社会参加者層の台頭

  • 第三章 「高速道路」と「けものみち」

高速道路を猛スピードで走る少女/日本のシステムで息苦しい思いをしている人のために/「高く険しい道」をゆくには/「見晴らしのいい場所」に行け/高速道路を降りて「けものみち」を歩く/「五百枚入る名刺ホルダー」を用意しよう/「流しそうめん」型情報処理、つながった脳、働き者の時代/「けものみち力」とは/正しいときに正しい場所にいる

  • 第四章 ロールモデル思考法

ロールモデル思考法とは何か/なぜ「経営コンサルティング」の世界に進んだか/ロールモデルの引き出しをあける/「十九世紀初頭の新聞小説」とブログ/日本の若者を応援するときのロールモデル/自分の志向性を細かく定義するプロセス/ブログと褒める思考法/生きるために水を飲むような読書、パーソナル・カミオカンデ/行動に結び付けてこそのロールモデル思考法

  • 第五章 手ぶらの知的生産

知のゴールデンエイジ/世界中の講義・講演を瞬時に共有できる時代/十年後には「人類の過去の叡智」に誰もが自由にアクセスできる/手ぶらの知的生活/これからの知的生活には資産より時間/ネットは知恵を預けると利子をつけて返す銀行/「文系のオープンソースの道具」が欲しい/群衆の叡智を味方につける勉強法/ネット空間の日本語圏を知的に豊穣なものに

  • 第六章 大組織VS.小組織

情報共有と信頼/やりたいと思う仕事に自発的に取り組む/情報共有と結果志向型実力主義/有事には情報共有を前提とした組織になる/小さな組織は情報共有で強靭になれる/小さな会社で働き、少しでもいい場所に移ろう/「三十歳から四十五歳」という大切な時期を無自覚に過ごすな/自らの内部にカサンドラを持て/「古い価値観」に過剰適応してはいけない

  • 第七章 新しい職業

「新しい職業」と「古い職業」/「新しい職業」の誕生を信じる人は「ウェブ・リテラシー」を/オープンソースが生んだ新しい「雇用のかたち」/「志向性の共同体」とスモールビジネスの経営/スモールビジネスとベンチャー/ビル・ゲイツの後半生を徹底肯定する/世界の難題の解決にネットが本格的に利用される時代

  • 終章 ウェブは自ら助くる者を助く

人工国家に似た「もうひとつの地球」ができれば/より求められる「自助の精神」/サバイバル優先、すべては実力をつけてから

  • あとがき

p.033

本書は、ウェブ進化という同時代の大変化の真っ只中で、私たち一人ひとりがどういう心構えで生きていくべきか、そのことをテーマとしたい。

一般論を語らず、あくまでも梅田望夫の視点・思いで貫かれているところがよい。梅田望夫プログラマでもスペシャリストではなく、とことん突き詰める才能を持ったゼネラリストだ。ゆえに、新しい世界においてすでに活躍している人であっても本書において描かれている、新しい世界についての幅広い視点は一読する価値がある。どこの部分が個々人にとって得るもののある内容かはそれぞれであろうが、梅田望夫という特殊な?アルファブロガーが綴った文章には自分が持っていなかった視点や考え方が含まれているだろう。

Googleの持つ2つの顔について、新しいオープンソース的な生き方について、ネット時代における高速道路とその先について、ネット時代に対する心構え/思考法、新しい世界において情報の持つ意味と役割(共有された情報と知的生活のためのスタンス)、情報の扱い方の変化によりもたらされる組織という枠組みの変化、そして新しい仕事や仕事の仕方。

2年にわたって梅田望夫が集中的に取り組んだ本書を、新書として読むことができる。通勤電車やカフェでなど、オフライン時間のお供にいかがだろうか?

2007/11/08 (木)

[][]F1速報2007総集編

今年ももう総集編が発売される季節になりました。総集編、発売。今年は最後まで見応えがあったシーズンだっただけに、振り返ってみるとなかなか面白いですよ。

http://www.f1sokuho.com/

2007/11/07 (水)

[]VMware FusionにWindowsXPをインストールする場合の注意事項メモ

  • Mac OS X Leopard (10.5)の場合、F8がSpacesに割り当てられているため、EULAに同意しようとしてもできないのでFunctionキーアサインを変更する必要がある
  • 古いWindows XPメディアを使用する場合、『システムファイルの同期のタイムアウトエラー(エラーコード800b0101)』によりインストールが実施できない。2002年5月30日以前にBIOSの日付を戻してインストールする。※この問題はVMware Fusionに限った問題ではない
  • HDDのタイプをSCSIとしてインストールを行う場合には、VMwareのウェブサイトからデバイスドライバをダウンロードし、インストール実施時にF6によるフロッピーイメージとしてダウンロードしたファイルをマウントしてインストールする必要がある(http://www.vmware.com/download/fusion/drivers_tools.html)

[]中島一貴が2008年のウィリアムズレギュラードライバーに!

ウィリアムズが2008年のドライバーラインナップを発表、ニコ・ロズベルグと中島一貴という若手コンビ?となりました。

2008年の契約はまだ未定であるものの、F1のドライバーシートは確実な佐藤琢磨と合わせ、来年は2人の日本人レギュラードライバーがF1に参戦することになります(3人になってくれれば言うことなしですが、厳しいでしょう)。佐藤琢磨にホンダに戻ってもらい、ウィリアムズ中島一貴とガチンコ勝負を繰り広げてほしいものです。

http://www.grandprix.com/ns/ns19840.html

http://zooblog.fujitv.co.jp/f1gp/2007/11/f1_0c11.html

[]iSCSIは本命になれるのか?

DelliSCSIストレージベンダーEqualLogicを買収することを発表した。これで、DellはNetAppに次ぐiSCSIストレージベンダーとなることになる。

Dellは米国時間11月5日に,ストレージ製品ベンダーの米EqualLogicを買収することで両社が最終合意に達したと発表した。Dellは約 14億ドルを現金で支払う。取引はDellの2008会計年度第4四半期(2007年11月〜2008年1月期)終わりごろ,もしくは2009会計年度第 1四半期(2008年2月〜4月期)初めに完了する見込み。

http://itpro.nikkeibp.co.jp/article/NEWS/20071106/286454/

現時点ではiSCSIはSANに手が出ない場合に使う多少安価な代替手段というかたちや、Ethernetスイッチを使用してサーバとストレージ間のネットワークを制御できることから管理しやすく遠距離転送などとの親和性が高いなどといううたい文句が大きく使われている。

主にFiber Channelを使用するSANが現在4Gbpsを主流とするのに対して、iSCSIはまだ1Gbps。しかもSCSIデータをEthernetフレームにくるむため、どうしてもオーバヘッドが生じる。パフォーマンスという意味ではiSCSIはSANに及ばない。

しかし、今後10GbpsのLANが一般化すれば話は変わるかもしれない。個別サーバのNICは1Gbpsのままだとしても、EthernetスイッチとiSCSIストレージが10Gbpsに対応すればストレージネットワークの全体的なパフォーマンスはよくなる(かもしれない)。5年後、いや2,3年後にはこの買収が価値ある選択だったのかどうかはっきりしてくるだろう。

それにしても、最近はかなり中小ベンダーが次々に大手に喰われていきますね。

2007/11/06 (火)

[]書評:『運は数学にまかせなさいー確率・統計に学ぶ処世術』ジェフリー・S・ローゼンタール:著、中村義作:監修、柴田裕之:訳/早川書房

本が好き! powered by livedoor より献本


運は数学にまかせなさい―確率・統計に学ぶ処世術

  • ジェフリー S.ローゼンタール、中村 義作、柴田 裕之
  • 早川書房
  • 2100円
Amazonで購入
livedoor BOOKS
書評/サイエンス

確率や統計を学び始める頃に読んだら、もしかしたら数学者を志す人がでてくるかもしれない一冊。数学を「勉強」ではなく、意味のある、「知っていると人生がちょっと楽しくなる」知識として紹介してくれる。

目次

  • 第1章 無作為性に囲まれてーどちらを見ても確率、確率、また確率
  • 第2章 その確率は?ー偶然の一致と意外性
  • 第3章 法則を見極めるーなぜカジノはかならず勝つのか?
  • 第4章 カードで勝負ーブリッジ、ポーカー、ブラックジャック
  • 第5章 殺人という最も卑劣な行為ー傾向を読む
  • 第6章 満足のいく意思決定ー決断の下し方
  • 第7章 白衣の研究者は信用できるか?ー調査から言えること、言えないこと
  • 第8章 そんなこと起きるはずがないーとても低い確率
  • 第9章 コーヒーブレークー経営が傾いたカジノの話
  • 第10章 五十一%と四十九%ー世論調査のほんとうの意味合い
  • 第11章 二十回に十九回までー誤差の範囲
  • 第12章 ランダム性が救いの手ー不確実性があなたの味方となるとき
  • 第13章 進化と遺伝子とウイルスー生物界に見られるランダム性
  • 第14章 難問「モンティ・ホール」問題ー手掛かりから確率を見つけ出す
  • 第15章 スパム、スパム、確率、そしてスパムー迷惑メールをブロックする
  • 第16章 無知とカオスと量子力学ーランダム性を生み出すもの
  • 第17章 最終試験ー確率の観点をものにできたか?

確率と統計ほど、つかいこなすことによって物事の見方の幅が広がる知識はないかもしれない。だれもが毎日の生活の中で、確率や統計的な考えをしている。雨が降るだろうか?今日行かなければならないお客さんの機嫌はいいだろうか?などなど。ただ、実際には直感的に感じる確率や統計と、理論的に導きだされた確率や統計との間には大きな乖離がある場合が多い。本書は様々な事例や、様々な小ストーリーなどを通して、楽しく読み進めながら自然と理論的な確率と統計の知識を身につけられるように構成されている。大人にとっても十分読み応えのある一冊であるが、中学生が読んでも十分楽しんで読むことができるだろう。秋の長雨、読書の秋にちょっとチャレンジして読んでみると、もしかしたら世界が変わって見えるようになるかもしれない。

本書には例として紹介したい面白い話題が満載なので、どれをつまみだしてみるべきかとても悩ましいのだけれども、こんな部分はどうだろう。

p.263

「早業のチャーリー」という抜け目のないカード使いに、「さあお客さん、寄ってらっしゃい。スリーカード・スリラーをやらないかい?」と声をかけられたとしよう。おそるおそる近づいてみると、チャーリーはここぞとばかり言い募る。「見てのとおり、この三枚、一枚は両面とも赤、もう一枚は両面とも黒、三枚目は表が赤で裏は黒だ。さあ、いいかい?」あなたはうなずく。「それじゃ、ここにある大袋の中で、カードをよく混ぜる。混ぜたらどれでも好きなカードを引いて、テーブルの上にどっちかの面が上でもいいから置いてくれ」

あなたはためらいながらも、袋の中でカードをかき混ぜ、一枚つかむと、チャーリーの目の前に静かに置く。上を向いているのは鮮やかな赤の面だ。「よし、と。今、見えているほうは赤だ、いいね?」とチャーリーは言う。「つまり、黒ー黒のカードは引かなかったってことだ、そうだな?あんたが引いたのは赤ー赤のカードか赤ー黒のカードのどっちかだ。裏側が赤か、それとも黒かは五分五分のはずだよな、そうだろ?」

このあとの展開はぜひ本書でお読み頂きたいのだが、チャーリーの言っていることは嘘だ。裏側が赤い可能性の方が高い。なぜそうなるのか、そして赤い確率と黒い確率はそれぞれどの程度なのか、ぜひ考えてみてほしい。

そしてトドメはモンティ・ホール問題。けっこう有名なので知っている方も多いかもしれないが、知っている方もぜひ本書でこの問題に至までの過程、そしてこの問題から見えてくる数学の面白さにぜひ触れてほしい。

p.265

「モンティ・ホール」問題は、三つのドアのうちどれかの向こう側に新車があるという前提になっている。あなたはまずドアの一つ(たとえば「ドア1」)を選ぶ。すると司会者は別のドア(たとえば「ドア3」)を開けてみせるけれど、車はない(実際は車のかわりにヤギがいる)。ここであなたにチャンスが与えられる。最初に選んだドア(「ドア1」)のままでもいいし、まだ開いていないドア(「ドア2」)に変えてもいい。もし最終的に選んだドアの向こうに車があれば、それはあなたのもの、なければあなたの負け。

問題は、最初に選んだドアのままのほうがいいのか、それとももう一つドアに変えたほうがいいのか、だ。車がありそうなのはドア1の向こうか、それともドア2の向こうか?ほとんどの人は、変えても変えなくても勝てる確率は同じだと考えるけれど、ヴォス・サヴァント(takaochan註:「モンティ・ホール」問題を取り上げたコラムニスト)はドア2に変えれば勝てる確率が二倍になると主張した。

さあ、彼の主張は正しいのだろうか?間違っているのだろうか?「なぜ正しいのか」「なぜ誤っているのか」まで説明できるようになると、ちょっと世界が面白くなると思いませんか?

2007/11/04 (日)

[]ATOK, iWork08

持っているATOK17がついにLeopardではサポート対象外に。2005, 2006, 2007でもいろいろ問題があるようなので、17までは手がまわらないか(というか、上位バージョン買ってくれということですな)。

iWorkもどうしようか悩ましいし。

しばらくは贅沢な悩みに浸る。

[]というわけで、MacBookが我が家にやってきました

f:id:takaochan:20061103220417j:image

この箱を開けると、MacBookが出てきました。Intel Core Duo 2.2GHzの、こっそり11/2にUpdateされた最新版です(こっそりのわりにはあちこちのニュースサイトで取り上げられるあたりがAppleの上手さだと思いますが)。フルモデルチェンジを待っていましたが、もはやLeopardも出ましたし、これ以上待つと結局買えなくなりそうなので。

f:id:takaochan:20061103220919j:image

とりあず、お約束の開封の儀式を一通り実施。

ここだけの話、奮発してメモリを4GBにしたかったんですが、まだApple Storeでは4GBの用意ができておらず、とりあえずおあずけ。2GBで我が家にやってきていますが、4GBに換装しても元々4GB入れた場合と同じトータル価格で提供してもらう約束になっております。もちろん工賃もナシね。その他、英語キーボードの在庫もなし、HDDも250GBの入庫予定が未定と、けっこう拡張希望の場合はまだ対応が厳しい模様ですので、購入を検討されている方はご注意を。

購入済みのVMware Fusionでさっそく、UbuntuとかMonaとか入れて遊んでみています。外付けHDがないので、まだタイムマシーンは試してみていませんが。そのうち、Vistaも入れる予定ですが、どのバージョンにするべきか悩み中です。

ESX Server on Fusionなんてアホなこともやってみたりしてみましたが、ちょっとまだ上手くいかず対処手段を検討中。

f:id:takaochan:20061103221731j:image

f:id:takaochan:20061103221044j:image

「おめでとうございます。このMacBookはあなたに出逢うために作られたのです。」なんて、ほかのPCベンダーが書いたら何様のつもりだってかんじですよね。こんなこと書くメーカーもAppleだけだと思いますけど。

[][]Gmail by IMAP

MacのMailで使うためにGmailIMAP接続。

ちょっと時間がかかるけど使えないほどではない。

imap.gmail.comにつなげばIMAP接続は普通に使えますが、Webの設定画面はGmailのWeb管理画面を英語モードにしないと出てきません。

[]MacBook

おや?この箱はなんだろう?

f:id:takaochan:20061103220417j:image

2007/11/03 (土)

[]書評:『ヒューマンエラーを防ぐ知恵ーミスはなくなるか』中田亨/同人選書

本が好き! powered by Livedoorより献本。


ヒューマンエラーを防ぐ知恵 (DOJIN選書 4)

Amazonで購入
livedoor BOOKS
書評/サイエンス

期待以上に読み応えのあった一冊。

ヒューマンエラーはなくならない。しかし、予防し、抑止することはできるというスタンスで著者がこれまで研究してきた理論が平易に説明される。非常に汎用的な内容を扱いながらもとてもイメージしやすい。

著者によるWebサイトにある「東大で学んだ卒業論文の書き方★論文の書き方」はてブで3500エントリー越え。文章の達人が自分の専門分野について書いた本なのだから、分かりやすくてバランスのよい内容になっていることもうなづける。

本書は目次に目を通すだけでも価値があると思うので、いつもよりちょっと詳細に目次を紹介。

目次

  • 第1章 ヒューマンエラーとは何か
    • 1. 涙も凍るヒューマンエラー
      • まさか患者が入れ替わるとはー思いこみによる医療事故
      • たぶん大丈夫ー勘違いによる航空事故
      • 規則を守る意思がないーどケチ経営による工場事故
      • 見落とされた警告ー入力ミスが引き起こす事故
    • 2. ヒューマンエラーは根深い問題
      • 何をヒューマンエラーと呼ぶか
      • 事故の背後にヒューマンエラーあり
      • 深刻な事故を招くヒューマンエラー
  • 第2章 なぜ事故は起こるのか
    • 1. 事故とは何か?
      • 事故の特徴
      • 異常の判断基準ーフレーム問題
    • 2. 事故は起こらなくなるか
      • 異常に気づくタイミング
      • 事故が起こるとき
      • 事故の罠から逃れる
      • 悪魔の証明と事故
    • 3. やっぱり人はまちがえる
      • 複雑にからむ事故原因
      • 四枚カード問題
      • まちがえる理由は不明
  • 第3章 ヒューマンエラー解決法
    • 1. 問題の捉え方
      • 問題の捉え方が一番難しい
      • 問題を捉え直す方法
      • それでも問題は起こるもの
    • 2. 問題解決への作業
      • 誰が問題に取り組むべきか
      • 立場の違いをなくす
      • 部署縦割りの弊害
      • タスクフォース(特命作業班)
      • 柔軟性が問題を解決する
      • 組織の風通しをよくする
    • 3. 小さなミスこそ重要
    • 4. 事故の責任は誰がとるべきか
      • 専門性の罠
      • 上司?当事者?
  • 第4章 事故が起こる前に……ヒューマンエラー防止法
    • 1. 三段がまえのエラー抑止
      • 作業の行いやすさ
      • 評価方法
      • 本当に安全ですか?
      • 異常に気づかせる
      • ヒューマンエラーに気づかせる15の方法
    • 2. 大事故に発展させない方法
      • 備えあれば憂いなし
      • 大事故を想定する
  • 第5章 実践 ヒューマンエラー防止活動
      • 問題の共通点
      • 解決の糸口は現場に
      • 解決策は当人たちが知っている
  • 第6章 あなただったらどう考えますか
      1. 情報伝達
      2. 万物ハ一個ニツキ1円ナリ
      3. 五叉路
      4. アナログ?デジタル?
      5. 恐怖と緊張
      6. 何分まで待てますか?
      7. 記憶と順序
      8. 記憶力とは何か
      9. ありがた迷惑
      10. パニック
      11. 命令に従わない機械 モードの切り替え問題
      12. 向きの呪い 基本編
      13. 向きの呪い 世間の事情編
      14. 向きの呪い その根深さ
      15. リスト
      16. 名前の呪い 専門用語
      17. 名前の呪い 一貫してますか?
      18. 名前の呪い 先入観
      19. 名前の呪い まぎらわしい
      20. 名前の呪い 伝統の惰性
      21. 振り込め詐欺
      22. デザイン倒れ
      23. 安全装置のジレンマ その1 常用化
      24. 安全装置のジレンマ その2 設定ミス
      25. 安全装置のジレンマ その3 無効にしてしまえ
      26. エラーは注目される
      27. 徒然草
      28. エラーを起こさせる
  • 第7章 学びとヒューマンエラー
      • 学校のテストでまちがえるのはなぜ?
      • 効率がいいからといっても…
      • わかるということ

どうですか?目次を読んだだけでも気になることが多くありませんか?

p.12

ヒューマンエラーがほかの事故原因とは根本的に異なる点は、その恐怖にあります。ヒューマンエラーは権限を持った人間様が御自ら事故を進行させるため、非常に深刻な結末にいたることがあります。損害の量も深刻になりうるのですが、注目すべきは損害の質的な特殊性です。「なんでこんなに奇怪な事故が起こったのか?」という創造だにしなかった結果を生みだすのです。機械の故障による事故では、人がケガをしたとか、ものが壊れたといった、想像できる範囲の損害ですむことが多く、これとは対照的です。

ヒューマンエラーは完全に「なくす」ことはできないエラーであるからこそ、予防と抑止について考え続けていく必要がある。本書はヒューマンエラーについて体系的に説明されており、様々な実例もあわせて紹介されているので、自分の携わる職業や分野に関係なく読む価値がある。

p.21

実際の事故を分析するには、"原因の分類"よりも、"原因の統合"を考えるべきでしょう。

ヒューマンエラーが最も問題なのは、原因が複雑に絡み合った上に発生することにある。そして、エラーの原因を根本的に解決することは難しい。人間のミスや環境要因、"くせ"や"忘れ"など、人間がやることを完全に制御することはできないからだ。

人間にはひとそれぞれのくせや能力差があるが、多くの人間に共通する能力的な制限も多くある。どんなに体を鍛えている人でもギロチンマシーンにはさまれれば無傷では済まないし、どんなに集中力が持続できる人でも、意味のない文字の羅列を100万行ミスなく入力することはできない。

できる限りエラーが起こりにくい環境を用意し、できる限り人間の行動に無理をさせず(かつ、慣れさせすぎず)、それでいてコスト的な限度を持ってエラーを予防する。そしてもしエラーが発生した場合にも、その損害を最小限にとどめるための仕組みを用意し、エラーによる損害の拡大をできうる限り抑止する。

短絡的に考えても解決できない問題であるからこそ、ヒューマンエラーに対してどう対応するべきなのか、人間は考え続けていく必要がある。

2007/11/02 (金)

[]Eye-Fi

SDカードに無線LAN機能(Wi-Fi認定はされてません、はい)を搭載したEye-Fi。

コンセプトとしては素晴らしいと思わせてくれる久々の製品なのですが、まだまだ改善の余地ありっぽいです。

http://japanese.engadget.com/2007/10/31/eye-fi-impression/

カメラに刺して使っていて、知らぬ間にFrickrとかにUpされてたらそれもちょっと困ったりするかもしれないけどヾ(*´∀`*)ノ゛

2007/11/01 (木)

[]Amazonギフト券

Amazonアフィリエイトによりギフト券(約1600円分)を頂きましたのでご報告させていただきます。

…1年以上やっていてこんなもんですけど。

本Blogを通じてAmazonでお買い物頂きました皆様、ありがとうございました。

別に元を取ろうとかいう考えは全然ないのですが、これで本が1冊ぐらい買えますので嬉しいです。

今後ともよろしくお願いいたします。