背景知识:
linux时钟概述
linux系统有两个时钟:一个是硬件时钟,即BIOS时间;另一个是系统时钟,是linux系统Kernel(内核)时间。
在linux系统上程序运行时读取的时间都是系统Kernel(内核)时间。
每次Linux启动时,系统Kernel(内核)会先去读取硬件时钟的设置(但是此时的硬件时间不一定是准确的),然后系统时钟就会独立于硬件继续运作。
综上所述,所以想要永久修改linux时间并使得时间准确,就需要永久修改硬件时间,不然每次重新启动linux时,系统时间又变回之前的硬件时间。
linux时钟相关命令
系统Kernel(内核)时钟的相关命令是timedatectl 或者 date;
硬件BIOS时钟相关命令是hwclock 或者 clock。
1.在Linux GLI界面输入data查看当前Linux系统时间
data
输入hwclock –show查看硬件时间
hwclock --show
2.校准Linux系统时间(使用ntp服务时需要系统联网)
- CentOS 下安装配置ntp服务的步骤如下:
# 安装ntp服务的软件包
sudo yum install ntp
# 将ntp服务设置为缺省启动
sudo chkconfig ntp on
# 修改启动参数,增加-g -x参数,允许ntp服务在系统时间误差较大时也能正常工作
sudo vi /etc/sysconfig/ntpd
# 启动ntp服务
sudo service ntpd restart
- Ubuntu/Debian下安装配置ntp服务的步骤如下:
# 安装ntp服务的软件包
sudo apt-get install ntp
# 修改启动参数,增加-g -x参数,允许ntp服务在系统时间误差较大时也能正常工作
sudo vi /etc/default/ntp
# 启动ntp服务
sudo service ntp restart
- 将硬件时钟调整为与系统时钟一致
hwclock --systohc --localtime (好像这个更有效)
# 或者
timedatectl set-local-rtc 1
- 最后将日期写入CMOS永久生效
clock -w
# 或者
hwclock -w
3.开启谷歌BBR加速
本文的系统要求为 Debian 9或更高版本的 Debian Linux,其它操作系统所知不详,不知是否适合本文的方法。
注意,本文的配置参数不仅仅是启用Google BBR,还包括一系列网络参数的优化,直接拷贝执行使用即可。
Google BBR 一键加速VPS服务器很简单,SSH登录VPS后,分别执行以下2个命令即可(鼠标选中高亮后,点鼠标右键复制粘贴到root用户的#后面,然后回车)。
命令1:
wget https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/server-cfg/sysctl.conf -O -> /etc/sysctl.con
如果提示 wget: command not found 的错误,这是因为你的系统wget没有安装,所以需要安先装 wget:
apt-get install -y wget
命令2:
sysctl -p
执行成功后大致会输出:(视个人情况而言)fs.file-max = 51200
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_rmem = 32768 436600 873200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_max_tw_buckets = 9000
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_mem = 94500000 91500000 92700000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_wmem = 8192 436600 873200
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_congestion_control = bbr