chrony是网络时间协议(NTP)的另一种实现,与网络时间协议后台程序(ntpd)不同,它可以更快地且更准确地同步系统时钟,请注意,ntpd仍然包含其中以供需要运行NTP服务的客户使用。
两个主要程序:chronyd和chronyc
chronyd:后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿
chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可在一台不同的远程计算机上工作
服务unit文件: /usr/lib/systemd/system/chronyd.service
监听端口: 323/udp,123/udp
配置文件: /etc/chrony.conf
使用chronyd服务平滑同步时间的方式要优于crontab + ntpdate,因为ntpdate同步时间会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响,例如:sleep、timer等,且chronyd服务可以在修正时间的过程中同时修正CPU tick。
# rpm -ql chrony
/etc/NetworkManager/dispatcher.d/20-chrony
/etc/chrony.conf #chrony的主配置文件
/etc/chrony.keys
/etc/dhcp/dhclient.d/chrony.sh
/etc/logrotate.d/chrony
/etc/sysconfig/chronyd
/usr/bin/chronyc #chronyc是一个命令行交互式接口程序,可用于监视chronyd的性能,并在运行时更改各种操作参数。
/usr/lib/systemd/ntp-units.d/50-chronyd.list
/usr/lib/systemd/system/[email protected]
/usr/lib/systemd/system/[email protected]
/usr/lib/systemd/system/chrony-wait.service
/usr/lib/systemd/system/chronyd.service #CentOS 7.x版本对应的unit file
/usr/libexec/chrony-helper
/usr/sbin/chronyd #chronyd是一个可以在启动时启动的守护程序,它既可以充当服务端进程也可以充当服务端进程
/usr/share/doc/chrony-3.4
/usr/share/doc/chrony-3.4/COPYING
/usr/share/doc/chrony-3.4/FAQ
/usr/share/doc/chrony-3.4/NEWS
/usr/share/doc/chrony-3.4/README
/usr/share/man/man1/chronyc.1.gz
/usr/share/man/man5/chrony.conf.5.gz
/usr/share/man/man8/chronyd.8.gz
/var/lib/chrony
/var/lib/chrony/drift
/var/lib/chrony/rtc
/var/log/chrony
Pool 10.210.116.60 #此指令的语法与server指令的语法类似,只是它用于指定NTP服务器池,而不是单个NTP服务器。池名称需要解析为多个地址,这些地址可能会随着时间的推移而改变。
server 0.centos.pool.ntp.org iburst #server可用于时钟服务器;iburst,当服务器可达时,发送一个八个数据包而不是通常的一个数据包,包间隔通常为2秒,可加快初始同步速度; iburst 是参数, 一般用此参数即可。该参数的含义是在头四次 NTP 请求以 2s 或者更短的间隔,而不是以 minpoll x 指定的最小间隔,这样的设置可以让 chronyd 启动时快速进行一次同步。
其他的参数有 minpoll x 默认值是 6,代表 64s。maxpoll x 默认值是 9,代表 512s。
server 1.centos.pool.ntp.org iburst #N.centos.pool.ntp.org:这个是地址池,是ntp服务的虚拟集群,这里可以写成集群地址,也可以写指定的某服务器
peer 10.210.116.160 #同ntp, 对等体模式
driftfile /var/lib/chrony/drift #根据实际时间计算出计算机增减时间的比率,讲它记录到一个文件中,会在重启后为系统时钟做出补偿
makestep 1.0 3 #当头三次校时,如果时间相差 1.0s, 则跳跃式校时
rtcsync #启用内核模式,系统时钟每11分钟会拷贝到实时时钟(RTC)
#allow 192.168.0.0/16 #allow/deny:仅允许/拒绝192.168.2.0/24网络的主机可以访问此时间服务器 deny all拒绝所有客户端
#local stratum 10 #即使server指令中时间服务器不可用,也允许讲本地时间做为标准时间授时给其它客户端
stratumweight 0.05 # 让chronyd在选择源时忽略源的层级
#hwtimestamp * #通过使用 hwtimestamp 指令启用硬件时间戳
#minsources 2 #增加调整所需的可选择源的最小数量
#keyfile /etc/chrony.keys # 指定包含NTP验证密钥的文件。
logdir /var/log/chrony # 指定日志文件的目录。
logchange 0.5 # 如果时钟调整大于0.5秒,则向系统日志发送消息
#log measurements statistics tracking #选择日志文件要记录的信息
chronyc activity - 显示有关活跃和未活跃时钟源的信息。
chronyc add server - 添加一个新的 NTP 服务器。
chronyc delete server - 移除一个现存的 NTP 服务器。
chronyc online - 使 chronyd 弃用离线模式并立即开始连接到时钟源。
chronyc offline - 使 chronyd 进入离线模式而不连接到时钟源。
检查并配置 NTP 服务器:
chronyc serverstats - 显示 NTP 服务器统计信息。
chronyc clients - 列出以 chronyd 作为时间源的客户端。
用于调试和诊断的命令:
chronyc ntpdata - 显示关于NTP服务器回应的更多信息。
chronyc sourcestats - 查看已收集的统计数据。
查看和设置系统时间信息:
chronyc rtcdata - 显示实时时钟(RTC)的信息,如果 chronyd 正在控制它。
chronyc settime - 手动设置系统时间。
要使用 chronyc 命令,通常无需加 sudo,但如果要修改 chronyd 的配置或执行某些操作(如重设系统时间),可能需要管理员权限。
文章浏览阅读2w次,点赞5次,收藏7次。在设备上强制安装apk。在app已有的情况下使用-r参数在app版本低于现有版本使用-d参数命令adb install -r -d xxx.apk_adb绕过安装程序强制安装app
文章浏览阅读1.6w次。图片摘自别人错误提示如下:Unable to load R3 module D:\Program Files\Oracle\VirtualBox/VBoxDD.dll(VBoxDD):GetLastError=1790(VERR_UNRESOLVED_ERROR)意思是:出现这样的原因应该是跟windows系统的[主题文件被破解]的有关,我也不知道原因为_unresolved (unknown) host platform error. (verr_unresolved_error)
文章浏览阅读1k次。A 当前ActivityB 待启动Activity 在A页面,启动B的时,需要在startActivity之后,添加A的自定义退场动画用来覆盖系统的动画overridePendingTransition(0,R.anim.home_close); 调转到B页面,对根布局进行addOnLayoutChangeListenerj监听,并且在其中_acitivity 进出场动画监听
文章浏览阅读519次。文章目录Mybatis1. Mybatis 简介1.1 什么是Mybatis1.2 回顾JDBC1.3 Mybatis的优点2. Myabtis入门案例2.1 数据库、表的创建2.2 创建Maven项目并配置POM文件2.3 配置Mybatis的核心配置文件2.4 创建实体类2.5 创建Dao层接口2.6 编写Mybatis工具类2.7 编写ORM映射文件2.8 配置映射文件的扫描位置2.9 注册映射文件2.10 测试代码2.11 测试结果3.Mybatis的CRUD操作3.1 增加insert3.2 删_select * from term_library where team_info && array ['1','2'] 在xml中书写方
文章浏览阅读1.4k次。 示例:在页面一的基础上弹出页面二,页面二的接受页面一传过来的两个参数方法1:页面1: script>... var openUrl="页面二" var openWindowSty="dialogWidth:200px;dialogHeight:300px;status:no"; var obj=new Object(); obj.title="参数一"_showformbelongroot
文章浏览阅读2.9k次。1 NIPALS 算法Step1:对原始数据X和Y进行中心化,得到X0和Y0。从Y0中选择一列作为u1,一般选择方差最大的那一列。 注:这是为了后面计算方便,如计算协方差时,对于标准化后的数据,其样本协方差为cov(X,Y)=XTY/(n-1)。Step2:迭代求解X与Y的变换权重(w1,c1)、因子(u1,t1),直到收敛 step 2.1:利用Y的信息U1,求X的变换权重w1(w1实现有X..._pytorch偏最小二乘回归
文章浏览阅读4.7k次。sas调整数据集变量顺序,更改列顺序,更改列的排列。Python和R在进行变量顺序修改时特别方便,但是sas的keep并不支持变量顺序修改,只能用retain来进行修改,而且修改使用的方法是将所有的变量名重新排列一遍。如果变量特别多会非常麻烦,利用宏变量其实是程序拼接的思想,试用宏变量来实现。以下代码实现了将num1和num2排列到一起,更加复杂的排列可以参考此方法。varnum..._sas retain变量按一定顺序
文章浏览阅读1.3k次,点赞11次,收藏12次。这里项目只需要一个地方用到,就没有封装成组件,直接在用到的.vue文件中写了。在使用的 .Vue 文件中导入。_vue3 elementplus table 可拖拽
文章浏览阅读55次。格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。示例:int i = 1;printf("%p",&i);相当于int i = 1;printf("0x%x",&i);对于32位的指针,输出..._c'p
文章浏览阅读1.4k次。工欲善其事必先利其器_idea fn+f1设置
文章浏览阅读331次。一个数据库分成多个数据库,部署到不同机器一个数据库表分成多个表最早是当当网内部使用的一款分库分表框架,名字叫Sharding-JDBC,定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,Sharding-JDBC直接封装JDBC API,可以理解为增强版的JDBC驱动,旧代码迁移成本几乎为零,适用于任何基于 JDBC 的 ORM 框架,支持任何第三方的数据库连接池,支持任意实现 JDBC 规范的数据库。_sharding-jdbc如何实现分库分表
文章浏览阅读1.7k次,点赞44次,收藏27次。上述的SmartPtr还不能将其称为智能指针,因为它还不具有指针的行为。内存泄漏的危害:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现。AutoPtr模板类中还得需要将* 、->重载下,才可让其像指针一样去使用。原理:是通过引用计数的方式来实现多个shared_ptr对象之间共享资源。内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。,而是应用程序分配某段内存后,因为设计错误,失去了对。该段内存的控制,因而造成了内存的浪费。在对象构造时获取资源,智能指针的使用及原理。_c++ 指针的内部实现