タグ

iowaitに関するryonknのブックマーク (3)

  • I/O負荷の正確な状況はiowaitでは分かりません - Qiita

    さくらインターネットのアドベントカレンダー9日目として、サーバ屋らしく、運用に関するコマンドの使い方を紹介します。 サーバの負荷が高まってきたときに、vmstatやtopなどのコマンドで調査する事が出来ますが、I/O負荷をwa(iowait)によって判断する人も多いと思います。 ただ、結論から言うと、iowaitは正確にI/Oの負荷を表しているわけではありません。 これらを、実際に演習をしながら見ていきたいと思います。 iowaitとidle iowaitとはあくまでも、CPUが空いているのにI/Oがボトルネックになっているプロセスを示しているだけで、CPUの利用率が高いときにはI/Oがボトルネックになっていてもiowaitが上がりません。 同様に勘違いされがちなのが、id(idle)はCPUの空きを示しているというものですが、idleは必ずしもCPUの空き時間を示しているものではありませ

    I/O負荷の正確な状況はiowaitでは分かりません - Qiita
  • NFS上のファイルへのI/O待ちは %iowait、%sys のどちらに計上されるか? - ablog

    NFS上のファイルへのI/O待ちが %iowait、%sys のどちらに計上されるのとかという話。 NFS でなんであれ、Linux でいうと、I/Oを発行したプロセスまたはスレッドが TASK_INTERRUPTIBLE でスリープしていれば %idle に TASK_UNINTERRUPTIBLE でスリープしていれば %iowait に 非同期I/Oを行ってほとんどスリープしていなければ %user(ユーザーモードでの実行時間が) と %sys(カーネルモードでの実行時間が) に 計上されると思う。 なので、実装次第で変わると思う。当然、OS の NFS クライアントを使うか Oracle Database の DirectNFS を使うかでは違うと思う。 vmstat は /proc/stat を参照して表示しているだけで、プロセスアカウンティングは kernel/sched.c

    NFS上のファイルへのI/O待ちは %iowait、%sys のどちらに計上されるか? - ablog
  • iowait について - ablog

    iowait の時間って、I/O要求を出しているプロセスは Disk Sleep しているという理解でいいんだろうか。 ちょっとわからなくなってきた。 linux-2.6/kernel/sched.c /* * Account for idle time. * @cputime: the cpu time spent in idle wait */ void account_idle_time(cputime_t cputime) { struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat; cputime64_t cputime64 = cputime_to_cputime64(cputime); struct rq *rq = this_rq(); if (atomic_read(&rq->nr_iowait) > 0) cpu

    iowait について - ablog
  • 1