linux内核启动时间分析

1. 首先修改kernel的bootargs,在bootargs中添加以下内容:
    

  1. initcall_debug
  2. printk.time=y
    我使用的bootargs修改后如下:
    
  1. mem=64M console=ttySAC0,115200 noinitrd init=/linuxrc root=/dev/nfs rw nfsroot=192.168.0.100:/home/rootfs ip=192.168.0.123:192.168.0.100:192.168.0.1:255.255.255.0:moran:eth0:off display=dh240 initcall_debug printk.time=y
    这样kernel在启动时,将会打印出每个模块的启动耗时,将此log信息保存下来。

    Ps:之前跟守业讨论这个问题时,其有提到要在kernel中打开以下选项:
   
  1. Kernel hacking
  2.     --->Show timing information on printks
    但是我在没有打开此选项的情况下,依然能够打印出启动时间。

2. 使用kernel里的脚本协助分析启动时间
    kernel中提供了一个“show_delta”的脚本,可以使用此脚本来协助我们分析kernel启动时每个模块的耗时情况。使用方法如下:
 
  1. $kernel/scripts/show_delta log_file > boot_time_info

你可能感兴趣的:(脚本,linux内核)