t0mmy

2020年12月30日に参加

学習履歴詳細

Linux の仕組み 増量改訂版 3章 読了

やったこと

  • Linux の仕組み 増量改訂版 3章を読了

学んだこと

  • sar で取得できる %nice の値は、「ユーザモードでの処理時間の内、nice値を変更した処理時間の割合」という意味
  • 経過時間(real) = 何もしていない時間(sleepなど) + ユーザモードでの実行時間(user) + システムコールによるカーネルの実行時間(sys)
  • 論理CPUをたくさん積んでいるマシンを使用する場合、十分な数のプロセスを実行して初めて、スループットが向上する
    • この時、むやみにプロセスを増やしても、スループットは向上しない
    • 論理CPU数は、workerthread パターンの worker 数を決める際の参考値になりそう
  • あるプロセスのターンアラウンドタイム(処理開始から終了までの時間)が低い場合、「別プロセスが稼働していて、コンテキストスイッチが発生している」という可能性も疑うこと

メモ

time コマンドで採取できる経過時間

経過時間(real) = 何もしていない時間(sleepなど) + ユーザモードでの実行時間(user) + システムコールによるカーネルの実行時間(sys)

コンテキストスイッチ

CPU 切り替えのこと。
あるプロセスのターンアラウンドタイム(処理開始から終了までの時間)が低い場合、「別プロセスが稼働していて、コンテキストスイッチが発生している」という可能性も疑うこと。

nice 値

nice 値を変更すると、確かにプロセスの実行順序が変化する。

sar で取得できる %nice の値は、「ユーザモードでの処理時間の内、nice値を変更した処理時間の割合」という意味。

論理CPUを複数使用した並列処理

論理CPUをたくさん積んでいるマシンを使用する場合、十分な数のプロセスを実行して初めて、スループットが向上する。
この時、むやみにプロセスを増やしても、スループットは向上しない。

  • 論理CPU 4つに対して4プロセス が最高性能
  • これ以上プロセス増やしても、スループットは向上しない
    • 増やしたプロセスはCPU待ち状態になるだけ
Linux

2023年03月12日(日)

2.0時間