タグ

2021年10月9日のブックマーク (3件)

  • Linux Kernel ~ 時間管理とタイマ割り込み ~ - レガシーガジェット研究所

    概要 「詳解Linux Kernel」を参考にVersion 2.6.11のコードリーディングをしていく。CPUのアーキテクチャは書籍に沿ってIntelのx86とする。 今回は時間管理及びタイマ割り込みについて見ていく。 時間管理 カーネルが行う時間管理の主な機能は以下。 ユーザプロセスはtime()、ftime()、gettimeofday()の3つのAPIを使用し日時を取得する。カーネルも当該APIを用いてネットワークパケットにタイムスタンプを付与する。 カーネルはタイマを用いてカーネル若しくはユーザプロセスに特定の時間が経過したことを通知する。 クロック回路とタイマ回路 クロック回路は現在時刻の取得や正確な時間計測に使用する。タイマ回路は設定可能で予め設定しておいたタイミングで割り込みを発生させることができ、ソフトウェアタイマなどに使用される。 リアルタイムクロック(Real Tim

    Linux Kernel ~ 時間管理とタイマ割り込み ~ - レガシーガジェット研究所
  • CPUロードアベレージ - Plan9日記

    id:naoyaさんが「マルチコア時代のロードアベレージの見方」で書かれているように、Linuxでは/proc/loadavgがカーネルがアプリに情報を提供するインタフェースになっている。例えば、uptimeコマンドはこのファイルからロードアベレージを取得する。 では、いつものようにPlan9ではどうなっているかというと、/proc/loadavgに相当するのが/dev/sysstatである(正確には/proc/statに近いか)。Linuxは何でも/procに入れたがるが、Plan9の場合はデバイスファイルとして提供するのがポリシである。で、このファイルを提供しているのはconsデバイス。次にman cons(3)の該当部分を引用する。 The sysstat file holds 10 numbers: processor number, context switches, inter

    CPUロードアベレージ - Plan9日記
  • Linuxのloadavgが約7時間ごとに上昇する現象の原因 - Mackerel お知らせ #mackerelio

    Mackerelチームのエンジニアのid:itchynyです。 「mackerel-agentを入れるとloadavgが7時間ごとに上昇する」 先日、このような問い合わせを複数のお客さまから受けました。私も実験してみたところ、確かに再現しました。EC2 t2.microにmackerel-agentを入れて簡単なログ監視とプロセス監視を設定し、数日放置しました。 確かに、約7時間ごとにloadavgが上昇しています。この周期のcronの設定はしておらず、またmackerel-agent内部でも7時間ごとに行う処理はありません。しかし、プラグインを多く入れるほどloadavgのピーク値も上がります。 エントリーでは、この現象の原因について説明します。 loadavgが上昇する原因を調べるには、まずloadavg自体がどう計算されているかを知る必要があります。 まずは、Linuxがloada

    Linuxのloadavgが約7時間ごとに上昇する現象の原因 - Mackerel お知らせ #mackerelio