IntelR ItaniumR 2 Processor Reference Manual for Software Development and Optimization
を見ています。
かなり実装に近いことが赤裸々に書いてあって非常に興味深いです。
“Itanium2 の1次キャッシュが16KBなわけ”の続きを読む>>
で、404 Blog Not Found様の mdだって凄いんです の記事にさらに反応して、記事をつくっちゃいます。
tmpfsでファイルを削除した際に、まだsyncがされてない、すなわちディスクの同期がなされていない状態で他のprocessによるメモリー消費が発生して、その結果swapに追い出されるpageが発生したのではないか、ということ。
tmpfsといえどfsですから、-o syncとかでmountしない限り、当然disk cacheの世話になるはずです。その隙を突かれたということなのでは?ましてや最近はdisk cacheも自然と大きくなるし。
ちゃいますちゃいます。
tmpfsはdisk cache通らないんです。procfsとかも通らないでひょ。
そこがデバイス層でなくfs層でメモリディスクを実装する最大の長所なのですよ。
mdのように上にUFSのっけてる輩とは違いますぜ。ダンナ
だから
cat /dev/null > file_on_tmpfs
とかしたら、即座に開放されます(ソースコード確認済み)
ただ、Linuxはメモリが空いたら即座にdisk cacheさんが大きくなろうとするの性質があるのでfreeコマンド連打ではうまく捕まえられないかも知れませんが。
ps つぎは「また又: tmpfs は本当に容量が動的なのか 」にしよう
(分からない人多数のネタですいません)

お調子者! ランキング!
“続: tmpfs は本当に容量が動的なのか”の続きを読む>>
・サイドバーの整理と
・google adsenseを撤廃、Drk7jp様によるAmazon Searchの導入
をおこなった。
自分がみたくないような広告が表示されてるのはよくないからね。
しかし、Drk7jpさんはすごい、Amazonオフィシャルなライブ広告より数段精度の高い記事に関連した広告を表示してくれる。
ああ、石投げないで。
はてなの伊藤直也さんのblogでそういうエントリを見つけたので。
記事のネタが欲しかったんだよう。
で、伊藤さんが書いているremountしたらスワップ発生ってのを考えていたんだが、まったく思いつかんのよ。原因が。
カーネルソースもみなおしたけどremountってfs管理構造体のmax_sizeメンバとかに再代入してるだけで、ぜんぜんメモリ確保してないし。
さらに言えば、tmpfsはファイルシステム上に100Mのファイルがあるときに50Mのサイズでリマウントしようとした場合、シュリンクの努力はなにもせずにエラーリターンするという特徴があるため、
サイズを減らす方向のremountが成功したのなら、サイズを増やしたぶんのファイルシステムスペースは使っていなかった可能性が高いのである。
うーむむ、現時点ではたまたま別の要因がうごいたんじゃない説がイチオシですなぁ。。。
あと、404 Blog Not Foundさんはわりと惜しい所をついているのだがtmpfsはmallocが使うのと同じしくみをつくうので、mallocと同じ挙動になる。が正しい。
ちょっとややこしいがFreeBSDにはカーネル内のメモリ確保関数はmallocと呼ばれているがLinuxでは別の名前がついているんだよん。ぐらいの理解で99%あってる。
今回唯一収穫だったのは、伊藤さんのblogを見るに、ramfsを世間ではinit以外でも結構使ってるのね。ってのが分かったこと。
それが一番の収穫だったかな。
ramfsはソースコード先頭(linux/fs/ramfs/inode.c)に
NOTE! This filesystem is probably most useful not as a real filesystem, but as an example of how virtual filesystems can be written.
なんていうちょっと怖いコメントがあるのでびびって使ってなかったのね。
あくまで、一番単純なファイルシステムの書き方の例ですからー。とか言われちゃうとねぇ。
あと、伊藤さんblogでは未使用メモリをOSが使うかどうかドキュメントに書いてないと愚痴っているのですが、OSが使わなければOSおよびユーザーからみてメモリ使用量は動的じゃないわけで、書いてあるも同然だと思いますよ。
なんか、99%私信っぽいエントリになってしまったがもともと伊藤さんのblogにコメントつけようとして、はてなサーバーがちょうどいいタイミングで落ちてデータが消えたのでむしゃくしゃして自分のblogに書いてしまっただけなので当然か。
今は反省している。
普段から使ってるのに名前を覚えていないソフトがあって、難儀したので
ほぼ個人的備忘録ですが、私の愛用ソフトのご紹介もかねて
EcoPassIE
IEコンポーネント使用ブラウザにも有効。
SSLの画面などではIEはパスワードを覚えてくれないのでお世話になりまくり
EXPLZH
FFFTP
無料だし、使いやすいのでオススメ
ImeWatcher
Sleipnir
Spybot - Search & Destroy
TrayExpand
紙copi
説明しづらいが、アイデアをメモするソフト。テキストエディタと違ってファイル名を考える必要がないので思いついた瞬間に書きはじめれるのでので、思いついたアイデアを忘れることがない。
地味にHTMLキャプチャ機能も強力
秀丸エディタ
これも惰性だな
---------------------
こっから下は定番じゃないけど、今回はいれたってもの
窓の手
XPの高速化てほどきサイトhttp://www.mtblue.org/pc/tips/speed_up_xp.php見ながらカスタマイズしてたので
Teamspeak2
いつのまにか日本語パッチが公開中止になってしまい、日本語が文字化けする。
かなしー
Skype
BitComet
今回買ったのはこんな構成。
<<ハードウェアスペック>>
Celeron M 360(L2 1MB, 1.40GHz, FSB 400MHz)
512MB(256MBx2) DDR2-SDRAMメモリ
IDE HDD 80GB
15.4インチ TFT WXGA(1280x800) 液晶ディスプレイ
大容量バッテリ(6セル)
DVD/CD-RWコンボドライブ
<<付属ソフト>>
Windows XP Home SP2
マカフィー セキュリティーセンター 90日試用版
myway サーチアシスタント
Sonic Digital Media
Dell Media Experience
Cyberlink PowerDVD
Adobe Reader 6J
Corel Photo Album 60日試用版
Corel Paint Shop Pro X 60日試用版
“Dell Inspiron 1300が届く”の続きを読む>>
こやつは firefox ライクなカスタム検索ボックスを備えており、なかなか使い勝手がよい。
しかし、Sleipnirオプション設定画面のUIが悪いのでカスタマイズ方法がわかりにくいので解説。
例として管理人が愛用している翻訳サイト スペースアルク をあげる。
このサイトは例文がなかなか判りよい所がいい。
↓まず完成図をば

やり方は続きを読むにて。

馬! 歩く! ランキング!
“sleipnir2のカスタム検索にスペースアルクを追加する”の続きを読む>>
これでヒットするうちのサイトも凄いですが、いったい何をかんがえてこんなワードで検索しようと思ったのかヽ(;´д`)ノ
たぶん、記事に無意味にはるなごみ動物画像に反応しているのだろう。
今回は/procファイルシステムの内、以下の文書でドキュメント化されていないものを
ほげりましょう。ってな趣向です。
第一回はauxvインターフェースです。
/proc/[pid]/auxv にて取得できます。auxvというのはプロセスをexecするときに
カーネルが生成プロセスに引き渡す情報のうちコマンド引数と環境変数に
おさまらない、補助的な(Auxiliary)情報ってことですわ。
選んだ理由はあんまりないんですが、ま、こっそりオモロイ情報でも
渡してたら、楽しい使い道が思いつくかな。と
と、いうのはタテマエで辞書順で先頭に表示されるファイルだからですな。
なんて適当。
“/proc ファイルシステムの重箱の隅をつつく その1”の続きを読む>>
・ソースネクストウィルススキャンは
ネットワーク通信設定を低(ファイル共有可)にしても実際にははじく
IPアドレス指定で許可ゾーンを設定するべし
・WindowsXP Homeを使うときはSambaとユーザ名が一致しなくなるので
Samba側で、「force user」オプションをつける。
・SambaでHosts.allowファイルの設定、smb.confのhosts allowオプションは間違えずに
・WindowsとLinuxの両方でhosts, lmhostsを設定する
・Samba診断ページの内容は(http://www.samba.gr.jp/doc/diag.html)はちゃんと確認する
・こまった時はethereal

サンバで! フォー! ランキング!
というわけで、管理人も大ファンの折田先生です。
ソース http://bohshi.blog13.fc2.com/blog-entry-226.html
折田先生非公式ページ: http://euro2002.hp.infoseek.co.jp/orita_top.html


静的解析ツールはそこそこ役に立つ.
FindBugs [sourceforge.net]
PMD [sourceforge.net]
Lint4j [jutils.com]
codewizard [techmatrix.co.jp]
DevPartner Studio Professional Edition [compuware.co.jp]
COReTOOL/PGRelief [fujitsu.com]
QAC [toyo.co.jp]
QAC++ [toyo.co.jp]
などなど…
C/C++向けで自由にルールが作成できるオープンソースの実装は無いものか.
オープンソースの静的解析ツールでしたら、
Splint [splint.org]
RATS [securesoftware.com]
Uno [spinroot.com]
などが有りますね。
UnoはCにしか対応していませんが、自分でルールを書けるようです。
O'ReillyのSecure Coding: Principles & Practices [securecoding.org]に、
静的解析以外の(動的解析など)ツールも含めて色々載ってます。
うーん、僕の読む漫画は偏っているのだが・・・
そんなわけで、今のお気にいりの漫画は「項羽と劉邦」である
項羽と劉邦といえば、Googleイメージ検索すると出てくるのは
↓ こんな画像だったりするわけだが

“項羽と劉邦”の続きを読む>>
そういうわけで、このblogのデザインはぜんぜん自分で考えたものではなくて* cuteblog *さんのところで公開されている共有テンプレートを使わさせていただいている。
使用感はかなりグッドで人にもオススメしていたのだが、ひとつだけ困った不具合があった。
等サイトで多用する<blockquote>をつかうと後続の文字がどんどん左にずれていってしまうのである。
Firefoxではそのような現象は観測されず、IEだけで問題がでるため、IEの不具合関連を中心に調査したところ以下のことが分かった
IEは左右ボーダーとパディングを同時に使ってはいけないらしい
そうと分かれば話は早い、CSSを以下のように修正した
変更前:
/* -- ▼引用▼ -- */
blockquote {
font-size: 12px;
padding: 5px;
margin: 5px;
background-color:#f0f0f0;
border-left: 3px solid #cdcdcd;
}
変更後:
/* -- ▼引用▼ -- */
blockquote {
font-size: 12px;
margin: 5px;
background-color:#f0f0f0;
border-left: 3px solid #cdcdcd;
}
blockquote p{
padding: 5px;
}
blockquote pre{
padding: 5px;
}
僕が<blockquote>の中に、たいてい<p>か<pre>のどちらかを置くクセを利用したハックである。
いまのところ、これでうまく行っている。
追記: cuteblog様がもっといい解決策を見つけてくださった模様。 すばらしい!

ダメ! 絶対! ランキング!
やってみたら、思ったよりも超かんたんだったので、ぜんぜん記事にする価値がありませんでした・・・
<ダウンロード>
git: http://www.codemonkey.org.uk/projects/git-snapshots/git
cogito: http://www.kernel.org/pub/software/scm/cogito
<コンパイル>
git:
make prefix=/usr all
sudo make prefix=/usr install
うちの環境では、make doc はエラーがおきてしまい出来なかったが、別にドキュメントなくても生きて行けるので放置。
cogito:
make; make install
<カーネル・ソースツリーのゲット>
mkdir ~/linux
cd ~/linux
cg-clone http://kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/
ほら出来た!
<参考>
git: Linux Kernelのためのバージョン管理システム(VCS): http://www.netfort.gr.jp/~dancer/column/200504-git.html.ja
Kernel Hackers' Guide to git(英語): http://linux.yyz.us/git-howto.html

我思う! 故に便秘! ランキング!
本日のオススメはこれ!
あずまんが魔王: http://www.pionet.co.jp/~shinji/maou/maou.htm
うーん、まったりとして、それでいてしつこくなく、芳醇な香りがえも言われず・・・・
ま、そんなことはどうでもいいんですけどね
↓ がサンプルですよん


ソトース! ランキング!
どのぐらい下がっているかというと、もはやウチのサイトではAmazonのご推薦に技術系の本とかカケラも出てきません。ゲームまみれの宣伝をされてます。
そんなわけで、しばらく意識的に技術系の割合を上げて行きたいと思います。
-----
linuxで通常ユーザ時間、システム時間を取得するにはtimes(2)をつかうが、これはプロセス内の全スレッドの値を合計したものが帰ってくる。
通常はこれで問題ないのだが、特殊な情况では自身のスレッドの分だけのユーザー時間がほしくなったりもするものだ。
そういうときには/procインターフェースをつかう
/proc/[pid]/task/[thread_id]/stat を開くと
8442 (emacs) R 1 8442 3175 0 -1 4194304 4877 209853 16 130 1566 3929 6239 30180 15 0 1 9 693045 23412736 4130 4294967295 134512640 135864868 3220640240 3220552484 12244898 0 0 536870912 1367441149 0 0 0 17 0 0 0
のような人間に読むことを拒否するかのような数字の羅列が出て来るが、この中でみるべきは
14番目: utime
15 : stime
16 : cutime
17 : cstime
である。
utimeとかstimeの意味は
man 2 times
で調べてほしい。

ペンギン! ランキング!
“スレッド毎のユーザ時間/システム時間を調べたい”の続きを読む>>
