ひさしぶりの日記でいきなりだけど、レッツノート(CF-W5AWDBJR)買った。
最近、残業多かったし、ボーナスも入ったし、何よりレッツノート欲しかったしw
Vista Business が入っているが、そこそこ軽い。 しかし、OSインストール直後にディスク使用量8Gとはどういうことや!
とりあえず、Debian入れてやるからな。まってろよ、おれのレッツよ。
勉強のために、自宅のGentooマシンにEclipse3.2.1をインストールしてみる。
そしらた、なぜかソースファイル保存時に
「保管が失敗しました。:null」
とかいうエラーが出る。
仕事ではWindows版の3.2.2を使っているが、こんなエラーは見たことない。
うむむ、LinuxでのJava系開発環境構築は苦労が多い…
いろいろ試してみると、どうやら日本語が含まれているときにエラーが出るようだ。
「なんだ、文字コードしてやればいいのか〜」
と思い、「ウィンドウ」->「設定」->「一般」->「エディター」あたりを探してみるが、見つからない。
フィルターで「コード」とかかけても、、見つからない。
ネットを探してみると、 「ウィンドウ」->「設定」->「一般」->「コンテンツ・タイプ」にあるよという情報があるではないですか。
こりゃわかんねーよ。。。
危うく、Gentoo のせいかと思い、あきらめて Windows に走るとこでしたよ。
あ〜、今日は入出力勉強しときたかったのに…。
仕事でDebian 3.1 Sarge を使っているが、なぜか日本語表示の調子が悪かった。
・日本語ファイルをlessすると 「"test.txt" may be a binary file. See it anyway? 」
と表示される。日本語ファイルはきちんと見れる。
・manすると「man: コマンドはステータス 256 で終了しました:」と表示され、マニュアル
が表示されない。
しょうがないから、alias man='LANG=C man' とかせざるを得ない。
jlessもインストールして、環境変数 PAGER も jless に設定しているのに、この状態。
いい加減イライラしていたが、運よく @ITの記事で、ページャを lv にしてみよ、という
情報を発見。
さっそく試してみる。
# apt-get install lv
$ export PAGER=lv
$ man man
名前
man - オンラインリファレンスマニュアルのインターフェース
キターーー!
まったく、jless さーん、頼みますよ〜。
これは何が悪かったのだろう?
じっくり調べたいが、これに時間を割いたせいで、仕事の方が進まなかったのでもう深追いはしない。
おかげでまだ会社ですよ、トホホ…
後輩にGentooはいいぞいいぞと勧められ、断腸の思いで、慣れ親しんだPlamoLinuxを
捨ててGentooをインストールしました。
しかし、私は激しく後悔しました。私のGentooLinuxには致命的な欠陥があったのです。
それは、「やたら重い」
emergeやっただけでloadaverageが3とか4とかまで上がって、軽くフリーズ状態でした。
で、いろいろと人に聞いてみたところ、「それ、DMAが有効になってないんじゃないのか?」と。
あれ〜、確かhdparm実行した覚えがあるんだけど、と記憶を辿ってみたところ、
あ、あれはインストール中にやっただけだから、インストール後は有効になってないんじゃ…
というわけで、いまさらGentooでDMAを有効にした時の記録です。
よって、タイトルの超高速化とは、ものすごい裏技でもなんでもなく、単にDMAを有効にしただけの話です(アホだな〜)
===== 動作環境 ===============
CPU: Pentium 4
Disk: Seagate
カーネル:2.6.18-gentoo-r3
==============================
■高速化前のHDの設定
# hdparm -v /dev/hda
/dev/hda:
multcount = 0 (off)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19457/255/63, sectors = 312581808, start = 0
■高速化前の性能測定
# hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 1608 MB in 2.00 seconds = 802.93 MB/sec
Timing buffered disk reads: 10 MB in 3.47 seconds = 2.89 MB/sec
■Gentooオススメのオプションを設定
# hdparm -d1 -A1 -m16 -u1 -a64 /dev/hda
setting fs readahead to 64
setting multcount to 16
setting unmaskirq to 1 (on)
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
setting drive read-lookahead to 1 (on)
multcount = 16 (on)
unmaskirq = 1 (on)
using_dma = 0 (off)
readahead = 64 (on)
なぜかDMAが有効にならない。
ネットで調べたところ、どうやらカーネルの再構築が必要ということがわかった。
■カーネルを再構築してDMAを有効化
自分のマシンのチップセットのサポートをカーネルに組み込む
(今回は"Intel PIIXn chipsets support ")
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
[*] Generic PCI bus-master DMA support <-これは有効にしていた
[*] Use PCI DMA by default when available <-これは有効にしていた
<*> Intel PIIXn chipsets support <-これを有効にしていなかった!
■カーネル再構築後に再度測定
# hdparm -v /dev/hda
/dev/hda:
multcount = 0 (off)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on) <-自動でDMAが有効になっている
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19457/255/63, sectors = 312581808, start = 0
# hdparm -Tz /dev/hda
/dev/hda:
Timing cached reads: 1672 MB in 2.00 seconds = 834.22 MB/sec
Timing buffered disk reads: 156 MB in 3.01 seconds = 51.82 MB/sec
は、速い…
■さらに高速化
# hdparm -A1 -m16 -u1 -a64 /dev/hda
省略
# hdparm -Tz /dev/hda
/dev/hda:
Timing cached reads: 1768 MB in 2.00 seconds = 883.10 MB/sec
Timing buffered disk reads: 160 MB in 3.02 seconds = 53.05 MB/sec
若干向上。
32bit I/Oモードを有効にしてみる。
# hdparm -c1 /dev/hda
/dev/hda:
Timing cached reads: 1840 MB in 2.00 seconds = 919.64 MB/sec
Timing buffered disk reads: 160 MB in 3.02 seconds = 52.97 MB/sec
これでやっとまともに使える環境になりました。
正直、Gentooって使えね〜、と思ってました。ごめんなさい。
しかし、亀からうさぎに生まれ変わった気分ですな。
JSP/Servletの勉強をしようと思い、Gentoo LinuxにTomcatをインストールしようとemergeするがなぜか入らない。
エラーを見ると、
# emerge tomcat
・
・
* There was a problem determining which VM to use for generation-1
* This is because the way Java is handled on Gentoo has drastically changed.
* There does not seem to be a 1.4 or 1.3 JDK installed.
* You should probably install =virtual/jdk-1.4* or =virtual/jdk-1.3*
* It is important to have either a 1.4 or 1.3 JDK installed
* in order for the old and new Java systems to coexist
* Details about this can be found at:
* http://overlays.gentoo.org/proj/java/wiki/Why_We_Need_Java14
* If you wonder why we can't just depend on the needed JDK version,
* then read https://bugs.gentoo.org/show_bug.cgi?id=144240
ん、JDKの1.4か1.3が必要ですよ、とかいってるじゃないですか。
ぐぐってみると、とあるブログに、PortageのTomcat(現在のporageのバージョンは5.5.20-r7)の依存コンポーネントの中にはまだJDK1.4が必要なものがあるとの情報を発見。
え〜、まじですかー?
怠惰な性格も手伝って、わざわざ昔のバージョンを入れるのは面倒くさいし、何かイヤだということで、Jakartaからダウンロードして手動インストールする。
バージョンはportageと同じ5.5.20。
JDKはportageのsun-jdk1.5.0.09を既にインストールしていた。
このやり方ってGentoo的いいのうだろうか?? とりあえずは動いたが…
ホームページ
アフィリエイト レンタルサーバー FC2ブログ