linux的系统时钟

2019-07-19  本文已影响0人  小胖_20c7
在说linux的系统时钟之前,先弄清楚几个概念
HZ:        即cpu一秒钟发生多少次时间中断(cat /boot/config-`uname -r` | grep '^CONFIG_HZ='(通常=1000))
Tick:      1/HZ,即每隔多少秒发送一次时间中断
Jiffies:   系统自开机以来,已经过了多少tick
系统时钟的驱动方式
系统时钟本质上,就是通过cpu的时间中断来实现的
      对于单调递增时钟(CLOCK_MONOTONIC),每次时间中断来的时候Jiffies + 1
      对于wall clock时钟(CLOCK_REALTIME),每次时间中断来的时候wall time + Tick
还有另外一种时间描述,即clock_t,是用来描述进程指令的消耗时间
      这种时间,不是时间中断来驱动的(有另外一种驱动方式,但是是什么不知道,反正不是一个体系的东西,和wall clock不是一回事)
系统时钟的设置
  date(查看系统时钟)
  date -s 5/11/2015(设置日期)
  date -s 15:35:30(设置时间)
  date -s "5/11/2015 15:35:30"(一起设置时间和日期)
centos 7中的时区和时间设置
  timedatectl status
  timedatectl set-timezone Asia/Shanghai
linux系统的启动和运行时间
  uptime:
          系统命令
  cat /proc/uptime:
          记录系统运行的时间
  计算系统启动的时间:
          date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
  计算系统的运行时间:
          cat  /proc/uptime | awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒\n",run_days,run_hour,run_minute,run_second)}'
上一篇下一篇

猜你喜欢

热点阅读