タグ

kernelに関するoopsopsのブックマーク (33)

  • Linux 2.4 カーネル開始まで

    はじめに 当文書では、i386 アーキテクチャ機における、Linux のカーネル体(start_kernel())が開始されるまでのブートアップシーケンスを順に追って説明する。 当文書は主に 2.4 系のカーネル(特に 2.4.29 前後)について言及したものである。多くの記述は、そのまま 2.6 系のカーネルへも適用できるであろう。同じ 2.4 系でも、カーネルのバージョン間で若干状況が異なる場合があるかもしれない。 ブートアップシーケンスの理解を深めることは、カーネルビルドの手順を逆向きに追っていく作業に近い。Linux 2.4 カーネルビルド も合わせて参考にして欲しい。 当文書では、以下のような条件を満たす計算機環境を「i386アーキテクチャ」と呼ぶものとする。 IBM の発表したパーソナルコンピュータ「PC/AT」の互換機である。 一般に IA-32 アーキテクチ

  • MySQL innodb_flush_method = O_DIRECTの検討 - SH2の日記

    MySQL InnoDBのパラメータでinnodb_flush_methodというものがあります。これはUNIX/Linuxにおいてデータファイル、ログファイルの読み書き方式を指定するためのもので、マニュアルの13.6.3. InnoDB Startup Options and System Variablesによると以下の3種類の設定が可能とされています。 無指定(fdatasync):デフォルトの設定です。特別なフラグなしでファイルをオープンし、書き込み時にfsync()を行います。 O_DSYNC:データファイルについてはfdatasyncと同じです。ログファイルについてO_SYNCフラグをつけてファイルをオープンします。 O_DIRECT:データファイルについてO_DIRECTフラグをつけてファイルをオープンします。ログファイルについてはfdatasyncと同じです。 今回はこのパ

  • Understanding Linux CPU Load - when should you be worried? | Scout Monitoring

    Understanding Linux CPU Load - when should you be worried? You might be familiar with Linux load averages already. Load averages are the three numbers shown with the uptime and top commands - they look like this: load average: 0.09, 0.05, 0.01 Most people have an inkling of what the load averages mean: the three numbers represent averages over progressively longer periods of time (one, five, and f

    Understanding Linux CPU Load - when should you be worried? | Scout Monitoring
  • 42981 – Processor Aggregator Device is not stable causing FW-OS communication to stop

  • Examining Load Average | Linux Journal

    Many Linux administrators and support technicians regularly use the top utility for real-time monitoring of their system state. In some shops, it is very typical to check top first when there is any sign of trouble. In that case, top becomes the de facto critical measurement of the machine's health. If top looks good, there must not be any system problems. top is rich with information—memory usage

  • イマドキなNetwork/IO

    The document discusses techniques for improving network and I/O performance between the network interface card (NIC) and CPU. It describes technologies like TCP offloading, receive side scaling, and Intel I/O acceleration features that distribute processing load away from the CPU to improve throughput and reduce latency. Optimization goals include more efficiently handling interrupts and direct me

    イマドキなNetwork/IO
    oopsops
    oopsops 2012/10/30
    これはわかりやすい
  • ネットマネーラボ

    おまとめローンのおすすめをランキング形式で紹介!各社の金利比較と審査で通りやすい傾向についても徹底解説

  • CentOS 6.2 で RPS/RFS を使ってネットワークの割り込み処理を複数コアに分散してみた - blog.nomadscafe.jp

    以前(2010年)に「アプリケーションがマルチスレッドでもマルチコアCPUを活かせない件」というエントリにてCPUのコアが増えても割り込み処理が分散されないのでスケールされないと書いたけど、その後Linux KernelにRPS/RFSなる機能が追加され、割り込み処理が分散できるようになり、CentOS 6.2 でも使えるらしいので試してみました。 RPS/RFSについての紹介は VIOPS06で「RPS・RFS等最新Linux Kernel事例」と題してお話してきました http://d.hatena.ne.jp/syuu1228/20110722/1311322653 Linux内核 RPS/RFS功能详细测试分析 http://www.igigo.net/archives/204 が詳しい。2番目のはほぼ読めないけど、性能比較のグラフが分かりやすい。 今回試したサーバは、 OS: C

  • /procディレクトリを活用する

    /procディレクトリには、Linuxシステムについてのあらゆる詳細な情報がある。/procを学ぶことで、Linuxのコマンドの仕組みを学んだり、さらにはシステム管理的なことを行ったりできる。 /procディレクトリは不思議な存在だ。当に存在しているわけではないが、ディレクトリ内を見て回ることができる。ディレクトリ内にある各ファイルの容量は0で、バイナリでもテキストでもないが、ファイル属性を確認したりファイルの中身を表示したりできる。この特殊な/procディレクトリには、カーネル、プロセス、設定用パラメータなどに関して、Linuxシステムについてのあらゆる詳細な情報がある。そのため/procディレクトリを学ぶことで、Linuxのコマンドの仕組みを学んだり、さらにはシステム管理的なことを幾らか行ったりすることなどができる。 Linuxではあらゆるものをファイルとして扱うようになっていて、例

    /procディレクトリを活用する
  • Linux 2.6 kernel の IPsec と NAT -- 2.6.15 と 2.6.16 の IPsec の違い : DSAS開発者の部屋

    Linux 2.6 kernel の IPsec と NAT -- 2.6.15 と 2.6.16 の IPsec の違い 先に結論から書くと,2.6 kernel の IPsec を NAT と絡めて使う場合,NAT の方向によっては 2.6.16 以後のカーネルを使う必要がある,というお話です.2.6.15 系までのカーネルでは,意図したとおりに NAT が適用され無いことがあります.これは,IPsec のチャンネルを通るパケットが ESP パケットにカプセル化されるタイミング,に依るものです. ここ(日語のページはこちら)にある図のように,iptables の各テーブルとチェインを順に辿っていきます.次のように IPsec 接続されたネットワークがあるとします. IPsec LAN 1 -- GW1 ======= GW2 -- LAN2 この場合,LAN1 から LAN2 に流れ

    Linux 2.6 kernel の IPsec と NAT -- 2.6.15 と 2.6.16 の IPsec の違い : DSAS開発者の部屋
    oopsops
    oopsops 2012/06/21
    "iptables で NAT のために明示的に設定するルールは,DNAT にしても SNAT にしても行きのパケットに関してのみです"
  • http://h50146.www5.hp.com/products/software/oe/linux/mainstream/support/faq_soft/soft_psp.html

  • HowTos/BuildingKernelModules

    Build Your Own Kernel Modules Created by AkemiYagi. Currently maintained by AlanBartlett and AkemiYagi. Please note that if you make changes to your kernel, you may no longer get support or help from the CentOS development team. The procedures described here are not officially endorsed by CentOS. This tutorial is provided in a hope that it will be useful when building your own kernel modules. If y

  • Linux、負荷まわりの話 - goungoun技術系雑記帳

    外部記憶装置のデータをページ単位でメモリ上に保存するしくみ。 空きメモリは積極的にページキャッシュとして使用される。(空きメモリが少ないからといって、メモリが足りないとは言い切れない) バッファキャッシュを含む。 read ページキャッシュから読み込む。 ページキャッシュ上に存在しないとき、外部記憶装置から読み込む。 write ページキャッシュ上に書き込む。 書き込まれたページはDirtyなページ(=外部記憶と同期していないページ)となる。 Dirtyなページは後でまとめて外部記憶に書き込む。 ページキャッシュ経由でデータがやり取りされる。 +------------------------------------------+ | ファイルシステム、mmap、スワップ処理など | +------------------------------------------+ read↑ ↓w

  • OSSはアルミニウムの翼で飛ぶ: RHEL I/Oスケジューラの変更

    RHELのI/Oスケジューラの変更方法。 環境によっては結構差が出てくるので、何がベストとは言い難い。 簡単にテストできるので環境に合わせて最適なスケジューラを設定しよう。 KVMではdeadlineスケジューラが推奨されている。 LinuxのブロックデバイスI/Oスケジューラはデバイス単位で指定されている。 現在の設定を確認するには、sysファイルシステム以下のblockを参照する。 # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] こんな感じで出力されて、[]で囲まれているものが現在の値だ。RHELではcfqがデフォルト値となる。 この値は動的に変更可能で、変更するには設定したいスケジューラ文字列を上記のsysファイルシステムに書き込むだけ。 # echo deadline > /sys/bloc

    OSSはアルミニウムの翼で飛ぶ: RHEL I/Oスケジューラの変更
  • naoyaのはてなダイアリー - Linuxのページキャッシュ

    世間では PHP が、Perl が、と盛り上がっているようですが空気を読まずまたカーネルの話です。今回はページキャッシュについて。 /dev/shm に参照系DBを持っていくと I/O 負荷が激減した件(当たり前だけど) - drk7jp で、ディスク上にあったファイルを /dev/shm (tmpfs) に移したら I/O 待ちがなくなって負荷がさがった、ということなんですがおそらくこれは tmpfs に置く必要はないかなと思います。Linux (に限らず他の OS もそうですが) にはディスクの内容を一度読んだらそれはカーネルがキャッシュして、二度目以降はメモリから読む機構 = ページキャッシュがあります。tmpfs にデータを載せることができた、ということは物理メモリの容量に収まるだけのデータサイズかと思うので、放っておけば該当のファイルの内容すべてがメモリ上にキャッシュされて io

    naoyaのはてなダイアリー - Linuxのページキャッシュ
  • RedHat Linux 技術的な質問(Part2) FAQ

    LinkedIn YouTube Facebook X, formerly Twitter Quick Links Downloads Subscriptions Support Cases Customer Service Product Documentation Help Contact Us Customer Portal FAQ Log-in Assistance Site Info Trust Red Hat Browser Support Policy Accessibility Awards and Recognition Colophon Related Sites redhat.com developers.redhat.com connect.redhat.com cloud.redhat.com Red Hat legal and privacy links Abo

  • 北森瓦版 - Intel RST 11.5でRAID 0構築時にもTRIMがサポートされるようになる

    Intel bringing TRIM support for RAID 0(NordicHardware) Intel RST 11 to bring TRIM support to RAID 0(VR-Zone) Intel Bringing TRIM Support To RAID0 With RST 11.5(StorageReview.com) SSDには様々なアドバンテージがあるが制限もある。その1つがTRIMコマンドでもはやこれは必須のものとなっている。ところがこのTRIMコマンドはRAIDを構築した際には働かない。だがIntelは最新のドライバでこれをまもなく解決する。 とあるファイルを消去しても、実際はそれが何かしらのファイルで上書きされない限りそこに残っている。今までの機械的ストレージにおいては問題にはならない。しかし、SSDにおいてはこれらの(削除されたはずの)ファイ

  • MySQL 5.5をわずか30秒足らずでコンパイルするためのテクニック

    べっ・・・別にソースコードなんて自分でコンパイルしないんだからねッ!!などと言わずにまず聞いていただきたい。30秒でMySQLのコンパイルが出来るというこの事実を。最近、細々とビルド時間の短縮に取り組んでいたのだが、正直ここまで爆速になるとは思わなかった。今日はビルド時間短縮のためのテクニックを紹介するので、是非皆さんも参考にして、快適ビルド生活を送って頂きたい!! 自己ベストは26.262秒マシンの状態や負荷の状況によって多少ビルドにかかる時間は前後してしまうのだが、これまでの自己ベストはなんと26.262秒。平均すると30秒ぐらい。以前は1分を切ることがなかったのだが、今ではなんとその半分でビルドが出来てしまう。これは純粋にmakeをするのにかかった時間であり、cmake(MySQL 5.5以降)やconfigure(MySQL 5.1以前)にかかる時間は除いてある。だがそれでも速い。

    MySQL 5.5をわずか30秒足らずでコンパイルするためのテクニック
  • カーネル再構築のススメ - dogmap.jp

    最近の PC-UNIX ではインストーラが超絶に簡単になり、インストール直後普通に動作してしまうため、カーネルの再構築など全くしなくなってしまいました。 昔は自分の環境に合わせてカーネルの再構築をしなければ、音さえ出なかったというのに! 今日、ふと思い立って自宅マシンのカーネルを CPU に合わせて最適化し再構築した所、起動が速くなり体感速度的にもエラい改善されました。 そんなわけで Ubuntu のカーネル再構築手順を自分用にメモ。 $ sudo -s /*** カーネル再構築に必要なパッケージをインストール ***/ # apt-get install build-essential # apt-get install kernel-package libncurses5-dev libqt3-mt-dev /*** カーネルソースをインストールして展開 ***/ # apt-get

  • 非LVMなディスクパーティショニングでルートパーティションを拡張する方法: ぴろにっき

    完全に検証をしたわけでは無いので、コレで失敗する可能性も否定できない。失敗しても全く責任は取れないので、自己責任で覚悟して試すよーに! サーバを非LVMな状態でセットアップした場合に、ルートパーティションを拡張する方法をあれこれ試してみた結果、たぶんこれが最少手だろうと思われる手順をここにメモとして残しておく。 手順1:OSが入っているディスクをどうにかして大きくする。 手順2:OSをシングルユーザーモードで起動する 手順3:(コンソール操作)ルートパーティションをリードオンリーで再マウント 手順4:ルートパーティションを一旦削除し、再作成する 手順5:OSを再起動する(マルチユーザーモードにして構わない) 手順6:resize2fsでパーティション拡張 手順1:OSが入っているディスクをどうにかして大きくする。 VMwareな環境でテストしたので、HardDiskの大きさの設定を好きなだ

    非LVMなディスクパーティショニングでルートパーティションを拡張する方法: ぴろにっき