LinuxThe open source operating system that runs the world.The open source operating system that runs the world.
小崎 資広 2008/5/22 この記事では、Linux Kernel Watchの番外編として、Linuxの最近のメモリ管理周りの動きと、その背景のモチベーションについてお伝えしたいと思います。 メモリ管理は変更時のインパクトが大きいため、通常、Stable Tree(安定ツリー)ではあまり変更はなされません。しかし、Linuxカーネルメーリングリスト(LKML)の議論では「もうカーネル2.7は出ない」ともいわれており、十分なテストがなされたものであれば、アグレッシブなパッチでも受け入れられるようになっています。 また、メモリの急速な大容量化により、いままで問題にならなかった部分にスケーラビリティ上の問題が発生したという報告もちらほら出てきました。それを解消するためのさまざまな改善が提案されています。 こうした背景により、2007年から2008年にかけては相当面白いパッチが出てきました。
一応 select(2) も読んであったので説明しとく。 メインループは非常に短いので抜粋。ここにはビットマップの転送処理は含まれていないので注意。max_select_fd() の前後が rcu_read_lock() と rcu_read_unlock() で囲まれているのは、ドキュメント (Documentation/filesystems/files.txt) によると 2.6.12 から RCU をファイルディスクリプタテーブルで利用するようになったため。以前は単なるロックだった。 int do_select(int n, fd_set_bits *fds, s64 *timeout) { struct poll_wqueues table; poll_table *wait; int retval, i; rcu_read_lock(); retval = max_select
TOPICS Hacks , Programming , Linux , Ruby 発行年月日 2009年04月25日 PRINT LENGTH 424 ISBN 978-4-87311-404-0 FORMAT PDF ミラクル・リナックス株式会社の精鋭エンジニアたちが、長年のLinuxカーネル開発の経験で培ったデバッグテクニックを詳解。こころがまえから、準備、必要な知識、バグの原因をすばやく特定し修正するために便利なテクニックとツール、高度なデバッグ技まで惜しみなく披露します。多くの事例に基づいた実際的実用的な技が満載です。効率良くかつクオリティーの高い開発のために必須の一冊です。 Debug Hacks推薦の言葉 プログラムにはバグが付き物です。バグは人間の予想を超えたところからやってきます。世界最初のバグは、リレー式計算機の中にまぎれこんだ蛾だったそうです。あわれリレーの間に挟まれ
HEAP領域とSTACK領域の間の未使用領域は、下記の領域に使われる 共有ライブラリのロード領域 メモリ・マップト・ファイル用領域 プロセス間共有メモリ用領域 メモリ・マップト・I/O用領域 メモリ・マップトによる追加HEAP領域 小さなサイズをmallocをしたときはHEAP領域に確保されるが、大きなサイズのメモリをmallocしたときはメモリマップ領域に確保される(glibcの場合) すべてmmapにするとメモリのフラグメンテーションがおきないが、mmapは重いしページサイズ単位しか扱えない。 32bit環境では論理メモリが2^32=4GBまでしか確保できない。このうちOSがメモリの上位1or2GBを使うので、実際にはアプリは3or2GBまでしかメモリは使えない。64bit環境になると、もっと使えるようになる。 HEAP領域は下に(上位アドレス方向)、STACK領域は上に(下位アドレス
小崎資広 2009/1/5 あけましておめでとうございます。読者の皆さまは年末年始、いかがお過ごしでしたか? 筆者は正月休みの間、stapgames(Systemtap Game Collection、注1)にハマっていました。半分ジョークソフトのようなものですが、SystemTapの上にさまざまなゲームを構築しています。 SystemTapは「input(キーボードとかマウスとか)のサポートがない」「outputがprintfだけ」「スクリプト長に厳しい制限」と、およそゲームに向いているとはいい難い環境なのですが、ダメといわれるとやりたくなるのがハッカー魂のようです。 筆者の一番のオススメは、ショートコーダー版テトリス(tetris_sort.stp)。わずか7行にまで縮められたテトリス・ルールの美しさと、キーボードドライバにprobeを打ち込んで無理やり入力を乗っ取るという強引さとが相
「Linux Kernel Hacking」というタイトルで1時間ほど話しました。資料はこちらからどうぞ。あと小手先の話になりますが、プレゼンする際、「参加者からのスクリーンの見易さ」には気をつけるようにしています。スクリーンを見る見ないは参加者の自由ですが、スクリーンが存在する以上、話す側は観られることを前提にする必要があると思います。具体的には、スライドのフォントサイズスライド中のコマンド、ソース等は、黒バック、黄色文字putty、コマンドプロンプトも同様にフォントサイズを調整、黒バック + 黄色文字必要に応じてZoomitを利用コマンドプロンプトを黒バック + 黄色文字にするのは塩月さんがされているのを見て真似させてもらっています。 以下、例の如く参加者のブログエントリです。id:egggarden - http://d.hatena.ne.jp/egggarden/20081123
KOF 2008 での発表資料「はてな流大規模データ処理」を以下にアップロードしました。 http://bloghackers.net/~naoya/ppt/081108huge_data.ppt 一部参考文献からの引用 (Introduction to Information Retrieval から Vector space model の図、たつをの ChangeLog から転置インデックスの図) があります。この場を借りて感謝。 環境によってはおそらくフォントの表示がいまいちだと思いますが、ご了承ください。 追記 SlideShare にアップロードしました。 081108huge_data.pptView SlideShare presentation or Upload your own. (tags: linux mysql) 追記: メモリはディスクの 150 倍について
KOF2008:関西オープンソース2008というイベントに来ています。 はてなの伊藤さんの講演があったので、講演メモを公開。 #ボクがメモした内容であって、100%言ったとおりに書いてあるわけじゃないので、参考としてご覧ください。 (続き) アジェンダ 大規模なデータ OSのキャッシュ MySQLの運用 大規模データアプリケーションの開発 データの例 はてなブックマークのデータ量:五千万件くらいのデータ量 このデータに対して何百万人がアクセスしてくる状況でどういう作りにするか レコード数 1073万エントリー 3134万エントリー 4143万タグ データサイズ エントリー2.5GB 何の工夫もなく普通にアクセスすると...200秒待っても結果が帰ってこない 大規模データの難しいところ 開発サーバで開発者が作っている時は快適に動いていても、多数の人間がアク
2008/10/19 Linuxカーネルのバージョン呼称を変更? Linuxカーネルは2003年末にリリースされた安定化バージョン2.6にマイナーバージョンの番号を追加して、2.6.x.y のように呼ばれている。Linuxカーネルのメーリングリストでは、バージョンの呼称を変更する提案がなされたそうだ。既に2.8の開発が行われているそうだが、Novell社のGreg Kroah-Hartman氏の提案は、「YEAR.NUMBER.MINOR_RELEASE」という呼称に変更する。例えば、2009年の最初のリリースであれば、2009.0.0、次は2009.1.0となる。マイナーなバージョンアップがあれば、2009.1.1、2009.1.2とマイナー番号を増やしていく。果たして・・・ 投稿者 zubora 投稿時間 08:05 ラベル: Linux 0 コメント: コメントを投稿
最近、とあるクローズドソースなデバイス管理ツールの挙動が気になり、その動作について解析してみることにしました。 プログラムをデバッグしたり解析したい時、どんなシステムコールが呼ばれ、どのような引数が渡されているかを、調べることができる strace は非常に有用です。 しかし、strace では ioctl で渡される複雑なデータ構造を表示することはできないため、システムコールをフックして引数を表示するという手段を取ることにしました。 そんな訳で linux でシステムコールをフックする方法について調べて見たところ、意外といろいろな方法が有ることを知りましたので、試してみた方法を幾つか紹介したいと思います。 注)今回の実験に使用した linux kernel のバージョンは 2.6.25.11 です。異なるバージョンではこの実験通りにはならない場合があります。 LD_PRELOAD を使っ
金曜日は サーバー/インフラを支える技術出版記念イベント サーバ/インフラ Tech Meeting の日でした。自分は「Linuxカーネルの読み方」と題して、自分なりにまとめたカーネルのソースコードを読むコツについてお話させていただきました。 発表資料を以下にアップロードしました。 http://bloghackers.net/~naoya/ppt/08080924svr_techmeeting.ppt (ppt) http://www.slideshare.net/naoya1977/how-to-read-linux-kernel/ (Slide Share) 同じく著者のひろせさんからはなぜこの本を書いたか、どういう本なのかという概論 (One more thing もありました)。Klab の安井さんは DSAS について、特に「ダイナミック」をキーワードにした幾つかのインフラ構
最近オープンしたエミナルクリニックの池袋東口院がめっちゃ気になるなぁ。 医療脱毛なのにすごい安くていい評判も聞くけど、ほんとに痛くないのかな? 通っている人の口コミをみてみたいなぁー。 なんて気になったので、エミナルクリニックの池袋東口院についてSNSやネットで調べてみました。 そう思ってSNSを中心に調べてみたら、、、口コミや評判も良いじゃない♪ ちなみに、似たようなサービスや商品があるかも?なので、今回調べてみたのはこちらになります。 オープンしました! エミナルクリニックの池袋東口院ですが、すでにオープンしています!(2021年10月6日オープン済) もちろんですが、オープンしたてなんでめっちゃ予約が取りやすいです。 ただし!!人気のある医療脱毛院なので早めの予約が良いかも?!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く