web-dev-qa-db-ja.com

Linuxは平均起動時にどのくらいのデータを読み取りますか?

新しくインストールしたVanillaLinuxシステム(32ビットCentOS 5.10など)は、仮想コンソールのシェルプロンプトを表示するために、合計でどのくらいのデータを読み取るのでしょうか。ご存知のとおり、すべての構成ファイルの読み取り、バイナリのロード、カーネルイメージなど。

桁違いの見積もりを探しています。 Linuxの起動は、プロセスの詳細に関して大きく異なることを認識しています。私たちは10Mbを話しているのですか? 100Mb? 1Gb?

9
amn

1つのシステムをインストールして起動し、/sys/block/${DEV}/statからブロックレイヤーの統計を確認します。例: /sys/block/sda/stat

ドキュメント からの引用:

統計ファイルは、空白で区切られた11個の10進値を含む1行のテキストで構成されます。フィールドは次の表に要約されており、以下でより詳細に説明されています。

Name            units         description
----            -----         -----------
read I/Os       requests      number of read I/Os processed
read merges     requests      number of read I/Os merged with in-queue I/O
read sectors    sectors       number of sectors read
read ticks      milliseconds  total wait time for read requests
write I/Os      requests      number of write I/Os processed
write merges    requests      number of write I/Os merged with in-queue I/O
write sectors   sectors       number of sectors written
write ticks     milliseconds  total wait time for write requests
in_flight       requests      number of I/Os currently in flight
io_ticks        milliseconds  total time this block device has been active
time_in_queue   milliseconds  total wait time for all requests

セクターの読み取り、セクターの書き込み

これらの値は、このブロックデバイスから読み取られた、またはこのブロックデバイスに書き込まれたセクターの数をカウントします。問題の「セクター」は、標準のUNIX 512バイトセクターであり、デバイスまたはファイルシステム固有のブロックサイズではありません。カウンタは、I/Oが完了するとインクリメントされます。

このワンライナーを使用すると、バイト数をより簡単に取得できます。

awk '{printf("read %d bytes, wrote %d bytes\n", $3*512, $7*512)}' /sys/block/vda/stat

Scientific Linux 6.1i386の結果

これを、 Scientific Linux 6.1 i386(RHELに似ています)を実行しているKVM/qemu仮想マシンでテストしました。次のサービスが有効になりました:acpid、auditd、crond、network、postfix、rsyslog、sshd、udev-post。スワップは別のディスク上にあるため、考慮されません。

ログインプロンプトが表示されてから数秒後にSSHを使用してリモートで取得された85回の起動の統計は次のとおりです。

    Name            Median   Average   Stdev
    -------------   ------   -------   -----
    read I/Os       1920     1920.2    2.6
    read merges     1158     1158.4    1.8
    read sectors    85322    85330.9   31.9
 >> read MiBytes    41.661   41.665    0.016
    read ticks      1165     1177.2    94.1
    write I/Os      33       32.6      1.7
    write merges    64       59.6      7.4
    write sectors   762      715.2     70.9
 >> write MiBytes   0.372    0.349     0.035
    write ticks     51       59.0      17.4
    in_flight       0        0.0       0.0
    io_ticks        895      909.9     57.8
    time_in_queue   1217     1235.2    98.5

起動時間は約20秒でした。

8

コメントで、ネットブート/ネットワークルート環境を評価していると言っています。

最初に気づかなければならないのは「バニラ」のようなものはありません-あなたはCentOS 5.10を箱から出してすぐに実行することはなく、変更はありません(自分を惑わしていると思われる場合:NFSルートはすでに少なくともStrawberryであり、Pistachioに集中しています)。

特定の環境(これが本当に重要です)に対する答えが必要な場合は、NFSサーバーとクライアントマシンをセットアップし、起動して、測定する必要があります。 :

  1. 転送(数量)
  2. スループット(レート)

両方の値は、パフォーマンスにとって非常に重要です。また、ある時点でいくつかのクライアントをセットアップし、システムの通常の使用をシミュレートして、NFSサーバー/ネットワークにどのような定常状態の要求があるかを確認することもできます。人々が日常業務と同じようにシステムを使用しているとき。

参照: キャパシティプランニングに関するシリーズ -NFSについては特に説明しませんが、「構築、テスト、ストレス」の一般原則が適用されます。

15
voretaq7