📢 本文由 gemini-2.5-flash 翻譯
這篇文章由
Hiyoung
編寫
背景知識:
Linux 時鐘概述
Linux 系統有兩個時鐘:一個是硬體時鐘,即 BIOS 時間;另一個是系統時鐘,是 Linux 系統 Kernel(核心)時間。
在 Linux 系統上程式執行時讀取的時間都是系統 Kernel(核心)時間。
每次 Linux 開機時,系統 Kernel(核心)會先去讀取硬體時鐘的設定(但是此時的硬體時間不一定準確),然後系統時鐘就會獨立於硬體繼續運作。
綜上所述,所以想要永久修改 Linux 時間並讓時間準確,就需要永久修改硬體時間,不然每次重新開機 Linux 時,系統時間又變回之前的硬體時間。
Linux 時鐘相關指令
系統 Kernel(核心)時鐘的相關指令是 timedatectl 或者 date;
硬體 BIOS 時鐘相關指令是 hwclock 或者 clock。
1. 在 Linux CLI 介面輸入 date 查看目前 Linux 系統時間
輸入 hwclock --show 查看硬體時間
2. 校準 Linux 系統時間(使用 NTP 服務時需要系統連網)
- CentOS 下安裝配置 NTP 服務的步驟如下:
1
2
| # 安裝 NTP 服務的套件
sudo yum install ntp
|
1
2
| # 將 NTP 服務設定為預設啟動
sudo chkconfig ntp on
|
1
2
| # 修改啟動參數,增加 -g -x 參數,允許 NTP 服務在系統時間誤差較大時也能正常運作
sudo vi /etc/sysconfig/ntpd
|
1
2
| # 啟動 NTP 服務
sudo service ntpd restart
|
- Ubuntu/Debian 下安裝配置 NTP 服務的步驟如下:
1
2
| # 安裝 NTP 服務的套件
sudo apt-get install ntp
|
1
2
| # 修改啟動參數,增加 -g -x 參數,允許 NTP 服務在系統時間誤差較大時也能正常運作
sudo vi /etc/default/ntp
|
1
2
| # 啟動 NTP 服務
sudo service ntp restart
|
1
| hwclock --systohc --localtime (這個好像更有效)
|
或者
1
| timedatectl set-local-rtc 1
|
或者
3. 開啟 Google BBR 加速
本文的系統要求為 Debian 9 或更高版本的 Debian Linux,其他作業系統所知不詳,不知是否適合本文的方法。
注意,本文的配置參數不只啟用 Google BBR,還包括一系列網路參數的優化,直接複製執行使用即可。
Google BBR 一鍵加速 VPS 伺服器很簡單,SSH 登入 VPS 後,分別執行以下 2 個指令即可(滑鼠選取反白後,點滑鼠右鍵複製貼上到 root 帳號的 # 後面,然後按 Enter 鍵)。
指令 1
1
| wget https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/server-cfg/sysctl.conf -O -> /etc/sysctl.con
|
如果提示 wget: command not found 的錯誤,這是因為你的系統沒有安裝 wget,所以需要先安裝 wget:
<strong>apt-get install -y wget</strong>
指令 2
執行成功後大致會輸出:(視個人情況而定)
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