Shell Scriptの実行時間を計る方法

概要

  • Shell Script実行時に処理時間を計測したい場合の方法について記載します

環境

  • OracleLinux 9.1

時間の計測が可能なコマンド

timeコマンド

  • コマンドの実行時間を計測するためのコマンドです
time コマンド
  • 計測する時間は下記の3種類となります。

    • real コマンドの実行時間
    • user ユーザCPU時間
    • sys システムCPU時間
  • 実際にtimeコマンドを利用してsleepコマンドを実行した結果

$ time sleep 3
real    0m3.002s
user    0m0.001s
sys     0m0.000s

dateコマンド

  • 指定したフォーマットに応じた時間を表示するためのコマンドです
date オプション コマンド
  • 実際にdateコマンドを実行した結果
$ date "+%Y-%m-%d"
2024-07-18

Shell Scriptの実行時間を実際に計ってみる

  • Shell Script全体の実行時間を計る場合はdateコマンド
  • コマンド単体の実行時間を計る場合はtimeコマンドを利用
#!/bin/bash

# 処理開始時間を取得
start_time=`date "+%S"`

# 1個目の処理

echo 1個目の処理開始
time sleep 1
echo 1個目の処理終了

# 2個目の処理

echo 2個目の処理開始
time sleep 2
echo 2個目の処理終了

# 3個目の処理

echo 3個目の処理開始
time sleep 3
echo 3個目の処理終了

# 処理終了時間を取得
end_time=`date "+%S"`

# スクリプトの実行時間を表示
total_time=$((end_time - start_time))
echo "実行時間: $total_time秒"