Linux 系统启动时间查看方法139
在 Linux 系统中,了解系统启动时间对于诊断性能问题和优化系统启动过程至关重要。可以通过多种方法来查看 Linux 系统的启动时间。
1. 使用 systemd
systemd 是 Linux 中流行的初始化系统。以下命令将显示 systemd 系统的启动时间:systemctl --no-page status boot输出示例:● - Startup finished Loaded: loaded (/usr/lib/systemd/system/; static; vendor preset: enabled) Active: active since Thu 2023-03-02 08:21:32 UTC; 4min 48s ago Process: 1360 (systemd-boot) Tasks: 1 (limit: 4915) Memory: 9.6M CGroup: //启动时间显示在 "Active:" 行中,格式为 "自 [日期] [时间] UTC"。2. 使用 dmesg
dmesg 命令可显示系统启动期间的内核消息。以下命令将显示与启动时间相关的信息:dmesg | grep -i "system boot"输出示例:[ 0.000000] ACPI: Booting the kernel with SMP[ 0.000000] fw-update[1936]: PML firmware download completed.[ 0.000000] fw-update[1936]: ME firmware download completed.[ 0.000000] ACPI: CPU0: Core 0: I/O APIC (id=1) version 8 [47:0:0][ 0.000000] ACPI: CPU1: Core 0: I/O APIC (id=2) version 8 [48:0:0][ 0.000000] ACPI: CPU2: Core 0: I/O APIC (id=3) version 8 [49:0:0][ 0.000000] ACPI: CPU3: Core 0: I/O APIC (id=4) version 8 [4a:0:0][ 0.000000] Linux version 5.15.0-50-generic (buildd@lgw01-amd64-045) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils 2.36.1) 2.36.1) #52-Ubuntu SMP Wed Dec 7 12:51:04 UTC 2022...[ 107.290361] Starting clean cache at 965563920[ 107.290489] Loading initial ramdisk ...[ 107.293327] done.[ 107.293930] (Loading, please wait...)[ 107.294115] Initramfs unpacking failed: write error[ 107.294115] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)[ 107.294149] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.15.0-50-generic #52-Ubuntu[ 107.294149] Hardware name: Hewlett-Packard HP ProDesk 400 G5 Desktop Mini PC/FW62F[ 107.294149] Backtrace:[ 107.294149] [] (dump_stack+0x61/0x96)[ 107.294149] [] (panic+0x152/0x186)[ 107.294149] [] (mount_block_root+0x117/0x17b)[ 107.294149] [] (vfs_kern_mount+0x130/0x140)[ 107.294149] [] (do_kern_mount+0x70/0xf0)[ 107.294149] [] (kernel_init_freeable+0xe2/0x14d)[ 107.294149] [] (kernel_init_freeable+0x266/0x14d)[ 107.294179] [] (kernel_init+0x14d/0x15d)[ 107.294179] [] (ret_from_fork+0x4a/0x50)[ 107.294179] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---启动时间通常显示在接近输出开始的位置,如 "Linux version ..." 行中显示的 "UTC 2022"。3. 使用 systemd-analyze
systemd-analyze 命令提供有关 systemd 系统启动过程的详细分析。以下命令将显示启动时间和各个启动阶段的详细信息:systemd-analyze plot生成的图表将显示启动时间,以及每个启动阶段的开始和结束时间。4. 查看 /proc 文件系统
/proc 文件系统是一个伪文件系统,其中包含有关系统运行状态的信息。以下文件包含系统启动时间:/proc/uptime此文件包含两条信息:* 系统自上次启动以来已运行的秒数* 系统自 epoch(1970 年 1 月 1 日 UTC)以来已运行的秒数可以使用以下命令将秒数转换为可读日期和时间:date -d "@$(< /proc/uptime | cut -d. -f1)"5. 使用工具包
还有许多 Linux 工具包可以帮助您查看系统启动时间。其中一些工具包包括:* bootchart:生成系统的启动过程可视化图表。* systemtap:允许您编写脚本来监视和分析系统的启动过程。* perf:提供有关系统启动过程的详细性能数据。通过使用这些方法,您可以轻松查看 Linux 系统的启动时间并诊断性能问题。2024-11-14