linux时钟
A. linux时钟为什么走得很快
在Linux中有硬件时钟与系统时钟两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的 时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。 hwclock实现了BIOS和linux的时间同步
"hctosys or -s"用这个命令将系统时钟调整为与目前的硬件时钟一致。就可以了
B. 如何在Linux下调整系统时钟
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
//修改时区 //f删除现有的目标文件 //s 做象征性的链接,而不是硬链接
# date -s ‘2016-12-14 11:45:00’ //设置时间
# clock -w //将时间写入CMOS
# cat /etc/sysconfig/clock //查看所属时区和是否使用UTC时间
备注: 时区需要修改 并且 需要修改CMOS
然后只是用date -s 修改时间的话重启系统后时间会还原
C. linux中的时间是哪个时区的
1、more /etc/sysconfig/clock
ZONE="Asia/Shanghai"
2、GMT + 8 = UTC + 8 = CST ,我们的linux系统时间和计算机硬件时间应该是cst时间,上海时区。
3、安装CentOS/RHEL时候,应当取消”系统时钟使用UTC时间”这个选项,如果忘了取消,系统时钟会差8小时
#vi /etc/sysconfig/clock
把UTC=true 修改为 UTC=false,保存后重启即可。
4、#ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或者
#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5、系统时钟
date -R
6、zmp – This utility prints the current time and date in the specified time zone. Example:
# zmp Japan
Japan Tue Feb 28 17:52:18 2017 JST
# zmp Iceland
Iceland Tue Feb 28 08:52:45 2017 GMT
zmp China
China Tue Feb 28 08:53:02 2017 China
7、CST/GMT/UTC/DST缩写
CST China Standard Time UT+8:00
GMT 格林威治标准时间(Greenwich Mean Time,简称G.M.T.)
UTC 世界协调时间UTC比GMT来得更加精准
DST 夏日节约时间:所谓“夏日节约时间”Daylight Saving Time(简称D.S.T.),
RTC 硬件时钟(Real Time Clock,简称RTC),相对应的系统时钟(System Clock)。
D. linux中什么是时间片
时间片,简单来说就是CPU分配给各个程序的时间,使各个程序从表面上看是同时进行的,而不会造成CPU资源浪费。
时间片轮转调度中唯一有趣的一点是时间片的长度。从一个进程切换到另一个进程是需要一定时间的--保存和装入寄存器值及内存映像,更新各种表格和队列 等。
假如进程切换(process switch) - 有时称为上下文切换(context switch),需要5毫秒,再假设时间片设为20毫秒,则在做完20毫秒有用的工作之后,CPU将花费5毫秒来进行进程切换。CPU时间的20%被浪费 在了管理开销上。
E. linux下如何设置系统时间
我们一般使用“date -s”命令来修改系统时间。比如将系统时间设定成2005年7月26日的命令如下。
#date -s 07/26/2005
将系统时间设定成下午11点12分0秒的命令如下。
#date -s 11:12:00
注意,这里说的是系统时间,是linux由操作系统维护的。
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
#clock -w
这个命令强制把系统时间写入CMOS。
F. linux 时钟设置问题
我每次都选的ShangHai 你看看有没有beijing
反正只要是中国的城市就可以了
G. linux 怎么设置硬件时钟 UTC
一、首先要弄清几个概念:
1. “系统时间”与“硬件时间”
系统时间: 一般说来就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。
硬件时间: 主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)。
2. “UTC时间”与“本地时间”
UTC时间:Coordinated Universal 8 e2 i( H7 t0 ^/ ^Time 世界协调时间(又称世界标准时间、世界统一时间),在一般精度要求下,它与GMT(Greenwich Mean Time,格林威治标准时间)是一样的,其实也就是说 GMT≈UTC,但 UTC 是以原子钟校准的,更精确。
本地时间:由于处在不同的时区,本地时间一般与UTC是不同的,换算方法就是
本地时间 = UTC + 时区 或 UTC = 本地时间 - 时区
时区东为正,西为负,例如在中国,本地时间都使用北京时间,在linux上显示就是 CST(China Standard Time,中国标准时,注意美国的中部标准时Central Standard Time也缩写为CST,与这里的CST不是一回事!),时区为东八区,也就是 +8 区,所以 CST=UTC+(+8小时) 或 UTC=CST-(+8小时)。
二、设置硬件时钟 UTC
硬件时间 /sbin/hwclock
直接调用 /sbin/hwclock 显示的时间就是 BIOS 中的时间吗?未必!这要看 /etc/sysconfig/clock 中是否启用了UTC,如果启用了UTC(UTC=true),显示的其实是经过时区换算的时间而不是BIOS中真正的时间,如果加上 --localtime 选项,则得到的总是 BIOS 中实际的时间.
[12-01 19:07> ~]# hwclock
2009年12月07日 星期一 14时28分43秒 -0.611463 seconds
[12-01 19:07> ~]# hwclock --utc
2009年12月07日 星期一 14时28分46秒 -0.594189 seconds
[12-01 19:07> ~]# hwclock --localtime
2009年12月07日 星期一 06时28分50秒 -0.063875 seconds
三、最后总结
1)/etc/sysconfig/clock 文件,只对 hwclock 命令有效,且只在系统启动和关闭的时候才有用(修改了其中的 UTC=true 到 UTC=false 的前后,执行 hwclock (--utc, 或 --localtime) 都没有变化,要重启系统后才生效);
2)/etc/rc.d/rc.sysinit 文件,run once at boot time,其中有从硬件时钟同步时间到系统时间的操作;
3)hwclock --localtime 的输出,才是硬件时钟真正的时间。如果输出结果带时区(比如CST),还要看/etc/sysconfig/clock里的UTC参数,如果 UTC=false,那时区有意义;如果 UTC=true,那时区没意义,实际上是UTC时间。
4)在 /etc/sysconfig/clock 中 UTC=false 时,date、hwclock、hwclcok --localtime 输出的时间应该都一致,且此时 hwclock --utc是没有意义的;
5)在 /etc/sysconfig/clock 中 UTC=ture 时,date、hwclock 的输出是一致的,hwclock --localtime 的输出则是UTC时间;
6)如果不想在输出中带时区,则 export LANG=C ,然后再运行 hwclock 就没有什么CST了,免得时区误导你;
7)hwclock --utc 容易理解出错
8)系统关闭时会同步系统时间到硬件时钟,系统启动时会从硬件时钟读取时间更新到系统,这2个步骤都要根据 /etc/sysconfig/clock 文件中UTC的参数来设置时区转换。
H. linux显示时间命令
date命令
date命令的功能是显示和设置系统日期和时间。
该命令的一般格式为: date [选项]
显示时间格式(以+开头,后面接格式)
date 设置时间格式
命令中各选项的含义分别为:
java">
-ddatestr,--datedatestr显示由datestr描述的日期
-sdatestr,--setdatestr
设置datestr描述的日期
-u,--universal显示或设置通用时间
I. linux系统时间命令
题主你好,
linux下一般是通过date命令加上格式化参数,来控制日期时间的显示的.
举例来说:
a.查看现在是几月几号, 几点几分几秒, 星期几:
写在最后: 一般情况下, %Y,%m,%d %H,%M,%S,%u这几个就够用了. 但date的格式化字符与用法不止这些, 具体的可以参考date的man页(命令行下输入: man date)
-----
希望可以帮到题主, 欢迎追问.
J. 为什么linux上的时间不准
一、问题分析
1.转换误差
2.时钟不稳定
3.时钟频率不对
接下来来看一下Linux系统内时间管理的内容
clock source用于为linux内核提供一个时间基线,实际上就是一个时间相关的结构体,如果你用linux的date命令获取当前时间,内核会读取当前的clock source转换并返回合适的时间单位给用户空间。在硬件层,它通常实现为一个由固定时钟频率驱动的计数器(上面的
TimeBase),计数器只能单调地增加,直到溢出为止。系统启动时,内核通过硬件RTC获得当前时间,并设置到计数器内,在这以后,内核通过选定的时钟源更新实时时间信息(墙上
时间),而不再读取RTC的时间。
clock source可以有多个,系统启动时会检查所有clock source然后将精度最好的时钟源设为当前时钟源。每个时钟源的精度由驱动它的时钟频率决定,可以用如下命令查看clock source。更详细的可参考书籍《Linux就该这么学》。