Linux服務(wù)器開機(jī)時(shí)間查詢方法大全
本文主要介紹Linux服務(wù)器開機(jī)時(shí)間查詢方法大全,闡述如何查看開機(jī)時(shí)間及各種方法的優(yōu)缺點(diǎn)。從系統(tǒng)自帶命令到第三方軟件,不同的方法適用于不同場(chǎng)景。
1、系統(tǒng)自帶命令查詢
Linux系統(tǒng)下有許多可以查詢開機(jī)時(shí)間的命令,其中最常用的是`uptime`和`who -b`。`uptime`命令可以顯示系統(tǒng)運(yùn)行時(shí)間、負(fù)載平均值等信息,其中`up`表示系統(tǒng)運(yùn)行時(shí)間,單位為天、小時(shí)和分鐘。例如:
~$ uptime19:58:16 up 2:08, 2 users, load average: 0.00, 0.00, 0.00這個(gè)系統(tǒng)的運(yùn)行時(shí)間為2小時(shí)08分。
`who -b`則可以顯示系統(tǒng)的啟動(dòng)時(shí)間:
~$ who -b system boot 2021-07-01 20:43這個(gè)系統(tǒng)的啟動(dòng)時(shí)間為2021年7月1日20點(diǎn)43分。
這兩個(gè)命令都是系統(tǒng)自帶的中國(guó)服務(wù)器延時(shí)時(shí)間分布情況及解決方案,使用方便,但缺點(diǎn)是只能顯示系統(tǒng)總運(yùn)行時(shí)間和啟動(dòng)時(shí)間,并不能詳細(xì)地了解系統(tǒng)開機(jī)的過(guò)程。
2、查看/var/log/dmesg日志文件
/var/log/dmesg包含了系統(tǒng)啟動(dòng)時(shí)內(nèi)核打印的信息,其中也包含了開機(jī)時(shí)間。可以使用如下命令查看:
~$ cat /var/log/dmesg grep "booted"[ 0.000000] tsc: Fast TSC calibration failed [ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [ 0.000000] NR_IRQS:4352 nr_irqs:512 16 [ 0.000000] Console: colour VGA+ 80x25 [ 0.000000] bootconsole [earlyser0] enabled [ 0.036004] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.042128] CPU1: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz stepping 0a [ 0.042128] boot_id: 06f872d6260e4cf881bfdc65a19ba92d [ 4.048456] systemd[1]: Started Load Kernel Modules.其中`boot_id` 后面的一串?dāng)?shù)字就是系統(tǒng)的啟動(dòng)ID,使用下面的命令可以將其轉(zhuǎn)換成正常的日期格式:
~$ systemd-analyze times grep "boot" Startup finished in 4.362s (firmware) + 5.023s (loader) + 6.978s (kernel) + 1.413s (userspace) = 18.777s system-efi-boot\x2d8f8d0203\x2d83f5\x2d440c\x2d9c4c\x2d63c73213f3b1.service loaded active exited EFI System Partition Mount\x2d2.mount system-efi-boot\x2d8f8d0203\x2d83f5\x2d440c\x2d9c4c\x2d63c73213f3b1.swap loaded active waiting /boot/efi.mount systemd-hostnamed.service loaded active running Hostname Service systemd-localed.service loaded active exited Locale Service systemd-timesyncd.service loaded active running Network Time Synchronization systemd-tmpfiles-setup.service loaded active exited Create Volatile Files and Directories systemd-update-utmp.service loaded active exited Update UTMP about System Boot/Shutdown systemd-user-sessions.service loaded active exited Permit User Sessions user@1000.service loaded active running User Manager for UID 1000 systemd-update-utmp-runlevel.service loaded inactive dead Update UTMP about System Runlevel Changes system-boot.mount loaded active mounted /boot.mount system-systemd\x2dfsck.slice loaded active active system-systemd\x2dfsck.slice systemd-fsck-root.service loaded active exited File System Check on Root Device systemd-fsck@dev-disk-by\x2duuid-56C1\x2d064F.service loaded inactive dead File System Check on /dev/disk/by-uuid/56C1-064F system.slice loaded active active system.slice user.slice loaded active active user.slice system-serial\x2dgetty.slice loaded active active system-serial\x2dgetty.slice getty@tty2.service loaded active running Getty on tty2 getty@tty1.service loaded active running Getty on tty1 getty@tty3.service loaded active running Getty on tty3 getty@tty4.service loaded active running Getty on tty4 getty@tty5.service loaded active running Getty on tty5 getty@tty6.service loaded active running Getty on tty6 graphical.target loaded active active Graphical Interface multi-user.target loaded active active Multi-User System system-getty.slice loaded active active system-getty.slice -.slice loaded inactive dead -.slice system-efi-bootx2d8f8d0203x2d83f5x2d440cx2d9c4cx2d63c73213f3b1.device loaded active plugged EFI System Partition -.mount loaded inactive dead -.mount systemd-remount-fs.service loaded inactive dead Remount Root and Kernel File Systems systemd-sysctl.service loaded active exited Apply Kernel Variables systemd-udev-trigger.service loaded inactive dead udev Coldplug all Devices sysroot.mount loaded active mounted /sysroot可以看到,這個(gè)系統(tǒng)的啟動(dòng)時(shí)間為18秒777毫秒,啟動(dòng)時(shí)間為2021-07-09 22:31:32。
這種方法可以獲取更多的開機(jī)信息,但需要查看日志文件,比較麻煩。
3、使用開機(jī)時(shí)間記錄腳本
用戶可以在系統(tǒng)啟動(dòng)時(shí)使用腳本,將系統(tǒng)啟動(dòng)時(shí)間記錄到指定文件中。例如:
#!/bin/bashecho "boot_time=`date`" > /var/log/boot_time這個(gè)腳本會(huì)在系統(tǒng)啟動(dòng)時(shí)將當(dāng)前的日期時(shí)間記錄到`/var/log/boot_time`文件中。用戶只需要在需要查詢開機(jī)時(shí)間時(shí)查看該文件即可。
這種方法的優(yōu)點(diǎn)是方便快捷,并且可以記錄更多的啟動(dòng)信息。但需要提前編寫腳本并設(shè)置開機(jī)自啟動(dòng)。
4、使用第三方工具
還有一些第三方工具可以幫助用戶查詢開機(jī)時(shí)間,例如`lshw`、`inxi`等系統(tǒng)信息獲取工具。
~$ sudo lshw -html > system.html~$ inxi -S System: Host: desktop Kernel: 5.8.0-38-generic x86_64 bits: 64 Desktop: Cinnamon 4.8.6`lshw`可以生成系統(tǒng)的硬件信息報(bào)告,并且包括系統(tǒng)啟動(dòng)時(shí)間等信息。`inxi`則可以快速獲取系統(tǒng)的概要信息,包括啟動(dòng)時(shí)間。
這種方法功能強(qiáng)大,但需要安裝第三方工具,并且了解工具的使用方法。
總結(jié):
Linux系統(tǒng)提供了多種方式幫助用戶查詢開機(jī)時(shí)間,使用的方法取決于使用場(chǎng)景和個(gè)人喜好。系統(tǒng)自帶命令方便易用,適合簡(jiǎn)單的查詢需求。查看`dmesg`日志文件則可以獲取更多的開機(jī)信息。使用開機(jī)時(shí)間記錄腳本可以記錄更詳細(xì)的啟動(dòng)信息,但需要編寫腳本并設(shè)置開機(jī)自啟動(dòng)。第三方工具則可以功能更加強(qiáng)大,并且可以獲取更多系統(tǒng)信息。
無(wú)論使用哪種方法,重要的是能夠了解系統(tǒng)的啟動(dòng)情況,并且及時(shí)發(fā)現(xiàn)問(wèn)題。