我思うゆえに我あり I think therefore I am

<   2007年 10月 ( 12 )   > この月の画像一覧

Gentoo キャッシュ

gcc-4.1.2にバージョン上げてsystemおよびworldでシステム全体を構築し直したまではいいんだ
その後、キャッシュが積極的に解放されているように思われる
何でだ、どこでどうなったんだろう
[PR]
by proof.of.human | 2007-10-31 00:08 | Gentooは俺の嫁

Gentoo hashstyle

妙だ。xfceのterminalの立ち上がりがいつもより早い

そうでしたそうでした。それもこれも"hashstyle"さんのおかげ。
試験運用中なLinux備忘録 hashstyleについての覚え書き
以下を実行するだけで対応したパッケージにhashstyleが適用される
# emerge -e system
# emerge -e world


ちなみに私のbinutilsのバージョンはbinutils-2.18-r1でがんす

hashstyle、この事実を知らなかったら、
「プログラムの起動が早いな、何でだろう」って、なーんも気づかずにシステムを使い続けていたんだろうな
ちょいとこわい
[PR]
by proof.of.human | 2007-10-30 23:49 | Gentooは俺の嫁

Gentoo scim-skk-0.5.2 ddskk

scim-skk-0.5.2を試してみたのだがどうもバグっぽい症状が...
ふむ、
どうやら同じ単語を二度変換すると落ちるようだ
Scim-skk-0.5.2で確定時のsegfault

# emerge -C scim-skk
しばらく凍結

ddskk-12.2.0-r1はもろもろのバグはあるものの使える
こちらは常用しようと思う

ん、パッチ?
なんですかそりは
[PR]
by proof.of.human | 2007-10-30 14:00 | Gentooは俺の嫁

Gentoo xmonad メモ

$ emerge -vp ghc darcs

[ebuild UD] dev-lang/ghc-6.4.2 [6.6.1] USE="X%* opengl%* -binary -doc -ghcbootstrap -openal% -test% (-bash-completion%)" 25,713 kB [0=>1]
[ebuild U ] dev-util/darcs-1.1.0_pre1 [1.0.9] USE="-doc" 1,091 kB [0=>1]

$ emerge -vp ghc-bin

[ebuild N ] dev-lang/ghc-bin-6.4.2 18,914 kB [1]
[blocks B ] dev-lang/ghc-bin (is blocking dev-lang/ghc-6.6.1)

xmonad
うーん、どうなんだろ
まだ何とも言えない
でも、もうちょい触ってみる
[PR]
by proof.of.human | 2007-10-29 23:47 | Gentooは俺の嫁

Gentoo キャッシュ 解放 sync sysctl カーネルパラメータ

システムを起動し続けているとキャッシュがたまる一方
それに加えてなかなかfreeされないときたもんだ
なんだか気持ち悪いなあ、と思って過ごしていたのだが、強制的にfreeさせる方法を紹介している人がいましたー

TrashSUITE Linuxのページキャッシュを強制的に解放させる方法
# sync
# sysctl -w vm.drop_caches=3
# sysctl -w vm.drop_caches=0


!
すごいですぞこれは!

まずはsyncコマンドでメモリバッファ内にあるデータをディスクに書き込むようにカーネルさんに要求を発行
ちなみに、修正されたデータはDirtyなページ(ディスクと同期していないページ)と言う
ただしsyncコマンドは、「早いとこディスクに書き込んでくれー」と急かすだけでディスクへの書き込みを保証するものではないようだ、なるほど。

sysctlコマンドはカーネルパラメータをチューニングする際に用いるようだ
変更できるパラメータは/proc/sys/以下にリストされており、現在の設定値は以下で確認が可能
# sysctl -a

次に、drop_cacheの値が意味するところをつらつらと。
* 0 初期値
* 1 ページキャッシュ解放
* 2 dentry, inode 解放
* 3 ページキャッシュ, dentry, inode 解放

意味するところが全く分からない自分に腹が立ったのでちょいと調べてみまんた

「ページキャッシュ」
The Linux Kernel : メモリ管理
ページキャッシュ(page cache)は、ディスク上のイメージやデータへのアクセスを高速化するために使用される。
これは、ページ単位でファイルの論理的な内容をキャッシュし、ファイル名とそのファイル内のオフセットを使ってアクセスされる。ページがディスクからメモリに読み出されると、それらはページキャッシュにキャッシュされる。


ファイルそのもののキャッシュがページキャッシュ
「バッファキャッシュ」内のファイルのキャッシュが「ページキャッシュ」らしい
キャッシュの相互関係

「バッファキャッシュ」
The Linux Kernel : メモリ管理
バッファキャッシュ(buffer cache)には、ブロックデバイスドライバが使用するデータバッファが含まれている。
これらのバッファは固定サイズ(たとえば、512 バイト)で、ブロックデバイスから読み出されたか、そこに書き込まれた情報のブロックが入っている。ブロックデバイスとは、データアクセスの際に、固定サイズのブロック単位でのみ読み書きできるデバイスを指す。すべてのハードディスクはブロックデバイスである。
バッファキャッシュは、デバイス識別子と必要なブロック番号とでインデックス付けされていて、データブロックをすばやく見つけだすために使用されるものである。ブロックデバイスは、バッファキャッシュを経由しなければアクセスできない。データがバッファキャッシュに見つかれば、たとえばハードディスクのような物理ブロックデバイスから読み出す必要がなくなるので、アクセスがずっと高速になる。

ディスクブロックそのもののキャッシュ(コピー)がバッファキャッシュ

「inode」
OpenTechPress メモリiノード
iノードにはファイルの管理情報(ファイル名以外の全ての情報)が納められている。

「dentry」
OpenTechPress ディレクトリエントリキャッシュ
linuxではdentryという構造体に、ファイルパス名の情報を格納しメモリ上にキャッシングしている。パス検索の高速化が目的である。一度ディレクトリやファイルにアクセスすると、一つのdentryが確保され、キャッシュされる。

ファイルを操作する際、そのファイルの検索にdentry構造体に格納されているファイルパスを参照

コンピュータはどのようにディスクに情報を保存するのか? 10.2. ファイル名とディレクトリ
ファイル名は、ディレクトリ構造体 (directory structure) のなかにあります。すなわち、ディレクトリ構造体が、ファイル名を i-node に対応付けているわけです。 Unix では、ひとつのファイルが正式なファイル名を複数持つことが可能になっている(これは、ハードリンク (hard links) とも言います) のは、このためです。それらは複数のディレクトリエントリであり、全部が同一の i-node をポイントしています。

ファイル名はdentry構造体によってinodeと対応付けされているのね

ああー、なるほど。流れがつかめた
ファイル名に対して割り当てられるinodeにはディスクブロックのアドレスが記録されているから、
そのディスクブロックアドレスとバッファキャッシュ内のインデックス(デバイス識別子およびブロック番号)とが対応したディスクブロックにファイルを書き込んでいるのか

他の参考URL
OpenTechPress 削除したファイルをlsofで復元する
OpenTechPress バッファキャッシュ
Linux初心者の基礎知識 13.ファイルアクセスの高速化
Linux、負荷まわりの話
[PR]
by proof.of.human | 2007-10-26 12:46 | Gentooは俺の嫁

Gentoo initng vixie-cron

久しぶりのGentoo holic
この度はinitngとvixie-cronさんと少し仲良くなりました

■ initng
The next generation init systemだからinitng。かっこいい
一般的な選択であるinit.dに代わってデーモンやサービスを起動します
initngのメリットは各種デーモンやサービスを並列で処理してくれるので高速なブートが望めます
ラップトップなどに導入すると幸せになるかもです

# emerge -vp initng
デーモンおよびサービスは/etc/initng/runlevel/default.runlevelに登録してください
ドキュメントによるとsystem.runlevelがあるような書き方がされているが、
default.runlevelしかない?default.runlevelだけでいい?みたい
ちょいとsystem.defaultを用意してやってrunlevel毎に記述してみたがどうにもこうにも挙動がおかしかった
気持ち悪いが全てdefault.runlevelに登録、で見過ごすことにした

# cat /etc/initng/runlevel/default.runlevel
system/modules
system/udev
system/clock
system/hostname
system/domainname
net/eth0
system/keymaps
system/agetty
service/local

こんなところ、でいいのかな
忘れがちなのがsystem/agetty
これを入れておかないとコンソールが立ち上がらない
それと、initngはコンソールをひとつ丸々使ってしまうのでログイン時はコンソールを切り替えてからログインしてください
んで一通り設定が済んだら最後に/boot/grub/gruc.confの設定

# emacs /boot/grub/grub.conf
title=initng hoge
root (hd0,0)
kernel /boot/ root=/dev/hogehoge init=/sbin/initng

としてから、リブートしてくださいな
「は、早すぎる...」
と言いたいところだが、ReiserFSの初期化作業でやたらと時間を喰うのであまり実感出来ていないでいる
それと別件であるが、カーネルのロードはいつになれば並列化されるんだー

※initngはテイスティング環境にあるようなので安全で完全な動作を保障しません


■ vixie-cron
initngの記述で疲れてしまった&有名なパッケージであるのでけっこう省略

# emacs /etc/crontab
0 6-18/12 * * * root /usr/bin/emerge --sync
30 6-21/3 * * * root /usr/bin/updatedb
0 0 * * * root /usr/bin/find /home//.trash -maxdepth 1 ! -mtime -7 -exec /usr/bin/rm -rf {} \;

※/etc/crontabは最後の行を改行してから保存してください。でないとエラー吐きます

# crontab /etc/crontab
# crontab -l

ファイルが更新されたら自動的に登録されるそうなので手動で登録する必要はないようだが、なんとなく。
/etc/cron.daily/とか色々あるが見なかったことにする
lオプションでジョブを確認
[PR]
by proof.of.human | 2007-10-23 11:35 | Gentooは俺の嫁

百合コレクション

ふと思い過ぎて困ります
脆過ぎて大変です。
んだども、
こんな感情が湧いたからこそ秋の陽が沈む様を眺めていたんだろうなーって
ほんの少し優しい気持ち

な、なんて忙しい脳みそなんだ
[PR]
by proof.of.human | 2007-10-21 16:33 | 我、ふと思う

数式

シンプルは美しく、美しいはとてもシンプル。
シンプルな生き方はとても美しいものだと思う
美しい生き方はとてもシンプルだったりする
しかし、シンプルそして美しい生き方それ自体は幸せではない
帰結するところがシンプルで美しい幸せな生き方だと自分は考える

人は他人に幸せにみられるように生きている、と見聞きしたことがある
この言葉を未だ反芻出来ずにいる
この言葉と上で述べた考えが一致した時、何かが分かり掴めそうな気がする

今日は月曜日
今の自分は鬱になってる暇なんてないの
今日も頑張りまっしょい
[PR]
by proof.of.human | 2007-10-15 09:45 | 我、ふと思う

どなるでんしゃどしゃぶり

夕方、懐かしい女の子を見かけた。
元カノ。
鼻にかかった声、きれいで可愛い顔、ちょっとおどおどした仕草
何もかもが自分には不釣り合いで勿体がなかった
ほんの数秒、視界に入っただけなのに忘れたつもりでいたものがたくさん溢れてきた
あんなに求めた日々があったのに、今はもう他人のように横を過ぎるだけだなんてちょっと残酷

あの頃から何かひとつでもいい方向に変わる事が出来ていればいいな
そのためにストイックに生きよう、と決めたんだもの
ストイックさが確立しつつある今の自分が大好き、という事はこの状態が続く限り忘れられないという事なのか
もういい加減忘れろよ、なんて言われそうだが
いや、今も好きだとかそうじゃないが...ああ、これが思い出に嫉妬しているというやつなのか
くっ、なかなか思い出もうまく出来てやがるぜ

元カノを見かけて思い出に浸りーのするなんて...な、なんて俺は普通の人間なんだ!!
かなり哀しくなりました。
でもいいや。どんな酷い事を言って、どんな嬉しい言葉を投げかけられたっけな
そんな事を考えながら今年の秋を楽しみたいと思います
うふふ
[PR]
by proof.of.human | 2007-10-14 20:01 | 我、ふと思う

音楽が哀しい季節

Studio Apartment - Beautiful Sunrise
cargo-Life Is Sweet

最低でもインイヤーイヤホンで聴かないとゆ、許さないんだからあ!
[PR]
by proof.of.human | 2007-10-08 22:11 | 我、ふと思う