タグ

Linuxに関するsatfyのブックマーク (61)

  • Ticklessカーネルとクロックソースに関するお話 - めもめも

    「詳解 Linuxカーネル 第3版」や「Linuxカーネル2.6解読室」などのLinuxカーネルでは、Linuxカーネルの時刻管理について、超絶に要約すると次のように説明されています。 一定の時間間隔(1000Hz)でタイマ割り込みが入る。 タイマ割り込みごとにjiffies変数を1増やす(つまり、jiffiesは、システム起動後にタイマ割り込みが入った回数を表す。) jiffiesの増加分に合わせて、システム時刻(変数xtime)をアップデートする。 しかしながら、RHEL6では、定期的なタイマ割り込みを行わない「Ticklessカーネル」が採用されており、jiffiesやxtimeが変更される仕組みがごっそり変わっています。 ※ Ticklessカーネルの何が嬉しいのかというと。。。。 これまでのカーネルでは、定期的にタイマ割り込み処理を行う必要があったので、実行するプロセスが無いア

    Ticklessカーネルとクロックソースに関するお話 - めもめも
  • sched_clock() overflow after 208.5 days in Linux Kernel

    えーっと、久しぶりに Linux Kernel にダメダメなバグが発見されて、よりにもよってうちの製品も影響を受けたので、ここに詳細を書くことにした。 つーか。新しい Kernel を使うなら皆で使おうよ。なんだよその「1つだけ」影響を受けて残りは「影響も受けないぐらい古い」ってのは… 概要 大雑把に 208.5日連続運転した Linux Kernel が突如として reboot する。 実機でなおかつ Time Stamp Counter を内包している必要があるので、Pentium4以降のプロセッサ(が、それはようするに今ある Intel 系CPU全部)か、その互換CPUである必要がある。32bit モード、64bit モードの区別はない。 逆に VMware や Xen など、仮想マシン上で動いている kernel に影響はない。これはそもそもバグを内包したルーチンを、仮想マシンで動

  • Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ

    Linux kernel 3.9 のマージウィンドウでは SO_REUSEPORT というソケットオプションがマージされました。 Merge branch 'soreuseport' · c617f39 · torvalds/linux · GitHub これは同一ポートに複数のリスナー(listen ソケット)が bind できるようになるというもので、Webサーバなど単一のポートに多くのコネクションが来るようなワークロードで、複数プロセスでうまく負荷分散ができるようになるそうです。 (これまでだと一人がaccept()してそれぞれの worker に渡すというようなモデルがありましたが、これでは accept() する部分がボトルネックになってしまいがちでした。) BSDでは元々 SO_REUSEPORT オプションはあったようですが、マルチキャスト通信で使うもののようです。Linux

    Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ
    satfy
    satfy 2013/05/16
  • Advancedlinuxprogramming.com

    Advancedlinuxprogramming.com This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: music videos Anti Wrinkle Creams Accident Lawyers 10 Best Mutual Funds Work from Home Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy|Do Not Sell or Share My Personal Information

    satfy
    satfy 2011/03/18
  • いやなブログ: Linux の共有ライブラリを作るとき PIC でコンパイルするのはなぜか

    Linux の共有ライブラリを作るとき PIC でコンパイルするのはなぜか 通常、Linux の共有ライブラリを作るときは各 .c ファイルを PIC (Position Independent Code) となるようコンパイルします。しかし、実は PIC でコンパイルしなくても共有ライブラリは作れます。それでは PIC にする意味はあるのでしょうか。 さっそく実験してみます。 int func () { printf(""); printf(""); printf(""); } PIC でコンパイルするには gcc に -fpic または -fPIC を渡します。-fpic の方が小さく高速なコードを生成する可能性がありますが、プロセッサによっては -fpic で生成できる GOT (Global Offset Table) のサイズに制限があります。一方、-fPIC はどのプロセッサで

    satfy
    satfy 2011/02/16
  • ファイルシステムのブロックサイズを調べる - メモ帳

    Linux では tune2fs -l パーティション。 stat(1) で stat.st_blksize を見るといい。 stat.st_blocks は1ブロック=512byteとしたときの使用ブロック数なので注意。 ext2 ではブロックサイズとして1K/2K/4Kを選択できて、Redhat 系 Linux では 4K が普通らしい。 File: `.bashrc' Size: 205 Blocks: 8 IO Block: 4096 Regular File Device: 302h/770d Inode: 280766 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ oracle) Gid: ( 501/oinstall) Access: 2007-04-05 08:49:37.000000000 +0900 Modify: 200

    ファイルシステムのブロックサイズを調べる - メモ帳
    satfy
    satfy 2010/03/16
  • 4096 バイトセクタの HDD と Linux - daily dayflower

    先日 1TB クラスのハードディスクを買いに秋葉原へいってきました。ずいぶん安くなったものだなぁと感激しながら物色してたんですが、なぜかキャッシュ 64MB のほうが 32MB のものより安かったのでこりゃお得だろうと思いそちらを考えなしに買いました。 帰ってきて調べてみたら、買ったやつは 4096 バイトセクタのものでした。なんか Windows XP だとそのまま使うとパフォーマンスがでないとか聞いていた気はしていたんですが、まさかそれを買ってしまうとは。どうりでバッファ容量が大きいほう(つまり 4K セクタ)がどの店でも安いわけだ。 たしか Linux の場合だと大丈夫だよねと思いながら検索してみると、Linux でもパフォーマンスが落ちるという話が。うわーどうしようと思い、4096 バイトセクタ HDD と Linux についていろいろ調べてみました。 ただ、机上の調査であり実地検

    4096 バイトセクタの HDD と Linux - daily dayflower
  • �Linux/DB Tuning (DevSumi2010, Japanese)

    1. 高性能・安定運用のための Linux/DB システム構築 / 運用技術 松信 嘉範 (MATSUNOBU Yoshinori) サン・マイクロシステムズ株式会社 プリンシパル MySQL コンサルタント 2. プロフィール 2006 年 9 月から MySQL->Sun(-> オラクル ) で MySQL コンサルタントとして勤務 主な著書 Linux-DB システム構築 / 運用入門 現場で使える MySQL Java データアクセス実践講座 Twitter: matsunobu Blog: http://opendatabaselife.blogspot.com * 今回の資料は公開します * MySQL 用語があちこちに出ますが、 経験の無い方にも分かるように配慮していくつもりです 3. 安定稼働と高性能を支える要素 アプリケーション層に関する技術 テーブル設計、インデックス設

    �Linux/DB Tuning (DevSumi2010, Japanese)
  • JF: Linux Kernel 2.6 Documentation: bfs.txt

    Linux Kernel 2.6 Documentation: /usr/src/linux/Documentation/filesystems/bfs.txt filesystems/bfs.txt SCO UnixWare の Boot Filesystem (BFS) に関する情報 [プレインテキスト版] 原著作者: Tigran A. Aivazian <tigran@veritas.com> 翻訳者: 野浩一 <hng@ps.ksky.ne.jp> バージョン: 2.6.0 翻訳日時: 2001/10/17 Linux 版 BFS ファイルシステム ============================= BFS ファイルシステムは SCO UnixWare OS で /stand スライス用に使用され ており、通常はカーネルイメージやブートプロセスで必要となるいくつかの

    satfy
    satfy 2010/01/14
    ループバックデバイスの開放の仕方
  • mailコマンドで添付の送信

    [Linux] mailコマンドで添付ファイルを送信するには以下のようにします。 uuencode [添付ファイルへのパス] [添付ファイル名] | mail -s 'タイトル' 送信先 « apopのみ許可 | | qpopperをstandaloneで起動 »

  • rpm「旧来の構文はサポートされません」エラー - アキラのITメモ

    libstdc++-libc6.2-2.so.3がないと怒られたので、さてどうしたものかといろいろやっていました。最終的にはapt-get install libstdc++2_10-compatで解決(fedoraの場合だとyum install compat-libstdc++-296.i386で解決)したのですが、これだけだとあまりネタとしては少ないので、他のネタとしてsrc.rpmのインストール時に「旧来の構文はサポートされません」というエラーが出た時にどうするかといったネタも書いておきます。 試行錯誤しているときに、hoge.src.rpmというrpmをインストールしようとすると、以下のようなエラーが出てきました。 # rpm --rebuild hoge.src.rpm エラー: 旧来の構文はサポートされません: copyright エラー: 12 行目: 不明なタグ: Cop

    satfy
    satfy 2009/12/07
  • ロードアベレージ - 2009-07-19 - BG

    Load Average On Linux Classically, UNIX systems have calculated the load average by counting the number of processes that are either running on the CPU or runnable (ready & waiting for a CPU to run them). Linux does this, but it also counts the number of processes in uninterruptable sleep. Uninterruptable sleep usually means a process is blocking on I/O (waiting for disk, etc.). Linux は, 他の伝統的な UN

    ロードアベレージ - 2009-07-19 - BG
  • Linux Kernel Module programming (Kernel 2.4, デバイスドライバ)

    ○ はじめに 文書では、筆者が Linux® でデバイスドライバを作成しようとした際に、カーネルに動的に追加機能を組み込むことが出来るカーネルモジュールの書き方について勉強したことを説明していきたいと思います。 筆者は、コンピュータでハードウェアを制御するプログラムを作りたいと思いながら社会人になったのですが、会社でそういう仕事がどんどん減ってしまって全然機会がありませんでした。しかし、雑誌等でデバイスドライバを作成して自作のハードウェアを制御する記事を読む度に、自分もやりたいという気持ちが大きくなっていきました。 そしてある日、「電子工作を勉強して自分のハードウェアを作り、それを動かすためのソフトウェアを書こう!」と決意しました。Linux でデバイスドライバを作成するには、カーネルに最初から組み込んでしまう方法と、動的に追加機能を組み込むことが出来るカーネルモジュールという形式で作成

    satfy
    satfy 2009/11/28
  • Linux Device Driver

    �$B%U%l!<%`?d>)$G$9$,!"�(B<A HREF="index_jp.html">�$B0l1~8+$k$3$H$O$G$-$^$9�(B</A>�$B!#�(B

  • logrotateでローテート対象のファイル名を取得する - 技術メモ帳

    logrotate の設定ファイルに、 postrotate ~ endscript という項目がある。 これは、ローテート処理を行った後に、 実行したいコマンドを記述する項目である。 大抵、ログファイルを出力しているデーモンアプリに対し、 HUPシグナルを送出し、ログファイルを開き直させるために使用されている。 (デーモンアプリの作り方にもよるが、大抵の場合これを行わないと ローテートした先のファイルにそのまま書き込み続けてしまう。) 今まで知らなかったのだが、 そのときに、実はローテート対象のファイル名を 仮引数として渡してくれていたらしい。 つまり、$1 や $2 などで参照できる。 これは便利だ。 以下は、よくある logrotate の設定ファイルである。 /var/log/logfile1.log /var/log/logfile2.log { daily create rot

  • device busy の際のumount

    [Linux] umountにてdevice busyになった場合、-lオプションを使用すればファイルシステムを切り離してからumountしてくれます。 « webalizer - 検索エンジンの設定 | | telnetでのメール受信方法 »

    satfy
    satfy 2009/08/14
  • ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改

    ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす

    ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改
    satfy
    satfy 2009/08/02
  • Manpage of PIPE

    Section: Linux Programmer's Manual (7) Updated: 2005-12-08 Index JM Home Page roff page 名前 pipe - パイプと FIFO の概要 説明 パイプと FIFO (名前付きパイプともいう) は、 単方向のプロセス間通信チャネルを提供する。 パイプには「読み出し側」と「書き込み側」がある。 パイプの書き込み側で書き込まれたデータは、 パイプの読み出し側から読み出すことができる。 パイプを作成するには pipe(2) を使用する。 pipe(2) は新しいパイプを作成し、ファイル・ディスクリプタを二つ返す。 ディスクリプタのうち、一方はパイプの読み出し側を、もう一方は 書き込み側を参照している。 パイプは関連するプロセス間の通信を作成するのに使用できる。 例は pipe(2) を参照。 FIFO (Firs

    satfy
    satfy 2009/07/28
    バージョン 2.6.11 より前の Linux ではパイプの容量はシステムのページサイズと同じであった (例えば i386 では 4096 バイト)。 Linux 2.6.11 以降では、パイプの容量は 65536 バイト
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    satfy
    satfy 2009/05/07
    hugepage
  • Linux のヒュージページ(huge page) の覚え書き

    2002 | 10 | 11 | 12 2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1

    satfy
    satfy 2009/05/07
    hugepage