linux的系统时钟

在说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)}'
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容