Linux上のとあるファイルがページキャッシュに乗っているかどうかを調べたいなーと思ってGoogle先生にご相談したところ、こんなコマンドを教えてくれた。 ファイルをメモリにマップして、mincore(2)でページごとにRAMに存在するかどうかをチェックしているらしい。 mmapしても即メモリにロードされるわけではないのかぁ。 Cの部分だけ抜き出して、単体で動かしてみた。 #include <errno.h> /* errno */ #include <fcntl.h> /* fcntl, open */ #include <stdio.h> /* perror, fprintf, stderr, printf */ #include <stdlib.h> /* exit, calloc, free */ #include <string.h> /* strerror */ #includ
たとえば、あなたが午後いっぱいを費やして製作したオーディオ・ファイルの再生を楽しみながら、「やあ、こいつはすごい音だ! こっちに移動しておくとしよう」と思ったとする。そのとき、潜在意識が違和感を唱えるのだ。「ええと、mvだっけ、rmじゃないのか?」…やっちまった。そのショックはよくわかる。誰にでもありうる失敗だ。だが、失われたファイルを取り戻す簡単な方法はある。しかも、それはどの標準Linuxシステムでも使える方法だから、覚えておいて絶対に損はない。 簡単に説明すると、Linuxファイルシステム上にあるように見えるファイルは、実際はinodeへのリンクに過ぎない。inodeには、ファイルのあらゆるプロパティ(アクセス権や所有権など)のほか、ファイルの中味が実際に存在するディスク上のデータブロックのアドレスも記録される。rmコマンドでファイルを削除すると、ファイルのinodeを指すリンクは削
このセクションでは、MyISAM テーブルへの myisamchk の使用方法について説明します。(拡張子: .MYI、.MYD) MyISAM テーブルのチェックと修復には、CHECK TABLE や REPAIR TABLE などのステートメントを使用します (推奨)。詳細は、項12.5.2.3. 「CHECK TABLE 構文」 を参照してください。 テーブル破損の症状としては、クエリが予期せず中断したり、次のようなエラーが発生します。 tbl_name.frm is locked against change Can't find file tbl_name.MYI (Errcode: nnn) Unexpected end of file Record file is crashed Got error nnn from table handler perror nnn を実行す
DebianのRubyパッケージの管理者をやめちゃった方のBlogが何かと話題になっています。主にRubyコミュニティへの不満、特に日本語偏重への不満が溜まっていたようです。 http://www.lucas-nussbaum.net/blog/?p=617 http://d.hatena.ne.jp/karasuyamatengu/20110103/1294014752(和訳・要約) その記事にMatzがコメントしていたので訳してみました。 Although I respect your decision, I think some of your problems could have been improved (or resolved) by communication. Maintaining software is a series of compromise between
タイマーのなかで仕事していますか? ふだんから何がしかのタスクを時間にあわせて実行するためにいろいろなタイマーアプリを iPhone 上で利用していますし、すでにどのような時間の使い方をしたのかを可視化するという目的でも iPhone のアプリを利用します。 時間は放っておけばただ流れるだけですので、意識できない時間の流れに棹差すこうしたアプリは非常に重宝します。 ここでは普段私が利用することの多い6種類のアプリを紹介して、新春の習慣化特集の締めくくりとしたいと思います。よーい、どん! 簡単なマルチタイマー、Due 以前も紹介したシンプルでエレガントなタイマーアプリ、Dueですが、その後開発者の方からのお誘いでベータ番なども利用させていただき、すっかり日常に定着しました。 Due の魅力は、ここで説明するよりもすばやくリマインダを設定したりタイマーを設定できる手軽さです。設定したリマインダ
でかいテーブルをdumpしてimportしなおすときに、alter enable keysで "repair with keycache" に悩まされてたんですが、MySQL Forums見てたらそのものズバリなのを見つけたのでメモ。 http://forums.mysql.com/read.php?35,155467,166902 ご存知の方には当たりまえな感じですが、自分はそもそも repair by sorting と repair with keycache の2通りのメッセージが出し分けられていること自体に気づいてませんでした。 mysqldump mysqldumpをつかってデータベースを(そのままimportに使える)SQL文に吐き出します。 % mysqldump -uuser -ppass -hhost hoge > hoge.sql このときhoge.sqlの中身はこん
先日大きめ(といっても500万行くらい)のテーブルにインデックス付きのカラムを追加しようとして痛い目にあったので調査。 大きめのテーブルにカラムやインデックスを追加するとどうなるか 今回は単純に、「ALTER TABLE 〜 」で追加しようとしました。追加するカラムは3つで、 varchar(255) インデックスなし varchar(255) ↓のdate 型カラムとマルチカラムインデックスの形式のユニークインデックスあり date インデックスあり SQL を実行し、状況を「SHOW PROCESSLIST」で監視していたら、1つ目のカラム追加で次のような状態に… 最初にState が「copy to tmp table」状態になり、次の状態に遷移するまで1時間かかる 次にState が「Repair with keycache」状態になり、完了までに1時間かかる 次のカラム追加に対す
ディスク I/O を最小にするために、MyISAM ストレージエンジンは多くのデータベース管理システムで使用されている戦略を利用します。 それは、もっとも頻繁にアクセスされるテーブルブロックをメモリー内で保持するキャッシュメカニズムを採用しています。 インデックスブロックの場合、キーキャッシュ (またはキーバッファー) と呼ばれる特別な構造が維持されます。 その構造には、もっとも多く使用されるインデックスブロックが置かれる多数のブロックバッファーが含まれます。 データブロックに対しては、MySQL は特別なキャッシュを使用しません。 代わりに、ネイティブオペレーティングシステムのファイルシステムキャッシュに依存します。 このセクションではまず MyISAM キーキャッシュの基本動作について説明します。 次に、キーキャッシュパフォーマンスを向上させる機能と、キャッシュ操作をより適切に制御でき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く