[20191226]dmesg與時間戳.txt
[20191226]dmesg與時間戳.txt
--//昨天例行檢查時,我發現rh7的伺服器執行dmesg時前面有一串數字.
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)
# dmesg | head -3
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
# dmesg | tail -4
[ 66.621051] fuse init (API version 7.23)
[825806.735240] FS-Cache: Loaded
[825806.797058] FS-Cache: Netfs 'nfs' registered for caching
[1294335.827275] Adjusting tsc more than 11% (3895849 vs 4906388)
--//可以猜測中括號裡面的數字一定與時間相關.dmesg輸出開頭都是0,也就是這個時間應該表示某種偏移量,單位猜測應該是秒.
--//看了man demsg文件,發現rh7.7版本對dmesg做了許多改進,增加許多功能.
-T, --ctime
Print human readable timestamps. The timestamp could be inaccurate!
# dmesg -L -T | head -3 ; dmesg -L -T | tail -3
[Thu Dec 5 12:07:43 2019] Initializing cgroup subsys cpuset
[Thu Dec 5 12:07:43 2019] Initializing cgroup subsys cpu
[Thu Dec 5 12:07:43 2019] Initializing cgroup subsys cpuacct
--//head
[Sun Dec 15 01:31:09 2019] FS-Cache: Loaded
[Sun Dec 15 01:31:09 2019] FS-Cache: Netfs 'nfs' registered for caching
[Fri Dec 20 11:39:58 2019] Adjusting tsc more than 11% (3895849 vs 4906388)
--//tail
# last | grep reboot | head -1
reboot system boot 4.1.12-124.33.4. Thu Dec 5 12:07 - 08:34 (20+20:26)
# uptime
08:34:25 up 20 days, 20:26, 2 users, load average: 1.00, 1.03, 1.05
--//結合這兩個輸出,可以判斷時間就是Thu Dec 5 12:07:43 2019 加上 1294335.827275秒.驗證看看.
# date -d "Thu Dec 5 12:07:43 2019 UTC 1294335.827275 seconds" +"%Y-%m-%d %T"
2019-12-20 19:39:58
--//不要考慮時區.取消UTC.
# date -d "Thu Dec 5 12:07:43 2019 1294335.827275 seconds" +"%Y-%m-%d %T"
2019-12-20 11:39:58
--//正好與[Fri Dec 20 11:39:58 2019] Adjusting tsc more than 11% (3895849 vs 4906388)的輸出時間一致.
--//當時當我看我的測試環境:
# cat /etc/issue | head -1
Oracle Linux Server release 5.9
# dmesg | tail -2
warning: `avahi-daemon' uses 32-bit capabilities (legacy support in use)
eth0: no IPv6 routers present
--//並沒有時間戳資訊.也就是rh7.7版本核心做了某些改進,增加顯示時間戳.我看了一些文件:
--//實際上就是設定/sys/module/printk/parameters/time等於Y就ok了.
# cat /sys/module/printk/parameters/time
N
# echo Y >| /sys/module/printk/parameters/time
--//嘗試載入ip_tables模組.也就是嘗試寫入一些資訊.
# modprobe ip_tables
# dmesg | tail -4
warning: `avahi-daemon' uses 32-bit capabilities (legacy support in use)
eth0: no IPv6 routers present
ip_tables: (C) 2000-2006 Netfilter Core Team
[231838.112752] ip_tables: (C) 2000-2006 Netfilter Core Team
--//也就是出現時間戳.可以這個要過來計算日期比較麻煩.
# modprobe xfs;zdate
2019/12/26 09:14:58
# dmesg | tail -1
[233458.384254] SGI XFS Quota Management subsystem
# cat /proc/uptime ;zdate
233980.52 5611536.56
2019/12/26 09:15:45
# date -d "$(zdate) -$(cat /proc/uptime|cut -d' ' -f1) seconds" +"%Y-%m-%d %T"
2019-12-23 16:16:04
# date -d "2019/12/26 09:15:45 -233980.52 seconds" +"%Y-%m-%d %T"
2019-12-23 16:16:04
# date -d "2019-12-23 16:16:04 233458.384254 seconds" +"%Y-%m-%d %T"
2019-12-26 09:07:02
--//有接近8分鐘誤差,不知道那個計算環節出了問題.放棄!!
--//補充:我重新在rh7伺服器測試:
# date -d "$(zdate) -$(cat /proc/uptime|cut -d' ' -f1) seconds" +"%Y-%m-%d %T"
2019-12-05 12:07:43
--//這個時間與dmesg -T看到的時間一致.使用它計算應該是對的.不知道在測試環境問題出在哪裡.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2670625/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20200317]dmesg與時間戳3.txt時間戳
- [20200316]dmesg與時間戳2.txt時間戳
- Unix 時間戳與日期時間戳
- [20201121]顯示時間戳高精度版本.txt時間戳
- dmesg 時間誤差現象
- [20200818]12c 10046跟蹤時間戳.txt時間戳
- [20190502]給顯示輸出加入時間戳.txt時間戳
- 獲取時間戳,幾個時間點的時間戳時間戳
- MySQL時間戳、時間MySql時間戳
- 時間戳與時間字串的多時區轉換時間戳字串
- [20200313]windows顯示輸出時間戳指令碼.txtWindows時間戳指令碼
- JavaScript 時間戳JavaScript時間戳
- kafka時間戳Kafka時間戳
- [20200818]12c 10046跟蹤時間戳2.txt時間戳
- golang日期字串與時間戳轉換Golang字串時間戳
- js獲取某時間的當天0點時間戳 與某時間的當週週一0點時間戳JS時間戳
- C# 時間戳轉時間C#時間戳
- 時間型別和時間戳型別時間戳
- 掌握時間與空間:深入探討Golang中的時間戳與時區轉換Golang時間戳
- 兩個時間戳的時間差時間戳
- 時間戳轉化為時間格式時間戳
- Excel中時間戳轉換時間Excel時間戳
- 【時間戳轉普通時間格式的方法】時間戳
- 格式化時間 戳
- C++中UNIX時間戳與日期互轉C++時間戳
- js時間戳與日期格式的相互轉換JS時間戳
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- [20201118]18c 10046跟蹤時間戳3(虛擬機器).txt時間戳虛擬機
- 《Lua-in-ConTeXt》05:時間戳Context時間戳
- 時間戳效能最佳化時間戳
- Mongoose無法更新時間戳Go時間戳
- PostgreSQL自動更新時間戳SQL時間戳
- Timestamp-時間戳轉換時間戳
- mysql時間操作(時間差和時間戳和時間字串的互轉)MySql時間戳字串
- Lamport時間戳與一致性演算法LAMP時間戳演算法
- MySQL字串轉時間戳查詢MySql字串時間戳
- c/c++獲取時間戳C++時間戳
- MySQL時間戳轉成日期格式MySql時間戳