linux的系統(tǒng)時鐘

在說linux的系統(tǒng)時鐘之前,先弄清楚幾個概念
HZ:        即cpu一秒鐘發(fā)生多少次時間中斷(cat /boot/config-`uname -r` | grep '^CONFIG_HZ='(通常=1000))
Tick:      1/HZ,即每隔多少秒發(fā)送一次時間中斷
Jiffies:   系統(tǒng)自開機以來,已經過了多少tick
系統(tǒng)時鐘的驅動方式
系統(tǒng)時鐘本質上,就是通過cpu的時間中斷來實現(xiàn)的
      對于單調遞增時鐘(CLOCK_MONOTONIC),每次時間中斷來的時候Jiffies + 1
      對于wall clock時鐘(CLOCK_REALTIME),每次時間中斷來的時候wall time + Tick
還有另外一種時間描述,即clock_t,是用來描述進程指令的消耗時間
      這種時間,不是時間中斷來驅動的(有另外一種驅動方式,但是是什么不知道,反正不是一個體系的東西,和wall clock不是一回事)
系統(tǒng)時鐘的設置
  date(查看系統(tǒng)時鐘)
  date -s 5/11/2015(設置日期)
  date -s 15:35:30(設置時間)
  date -s "5/11/2015 15:35:30"(一起設置時間和日期)
centos 7中的時區(qū)和時間設置
  timedatectl status
  timedatectl set-timezone Asia/Shanghai
linux系統(tǒng)的啟動和運行時間
  uptime:
          系統(tǒng)命令
  cat /proc/uptime:
          記錄系統(tǒng)運行的時間
  計算系統(tǒng)啟動的時間:
          date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
  計算系統(tǒng)的運行時間:
          cat  /proc/uptime | awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系統(tǒng)已運行:%d天%d時%d分%d秒\n",run_days,run_hour,run_minute,run_second)}'
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容