科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux操作系统开机启动提速方法介绍 (2)

Linux操作系统开机启动提速方法介绍 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Linux系统是十分优秀的操作系统,但启动时间长是该系统的缺点之一。那么能否通过一些设置来缩短Linux系统的启动时间呢?当然可以。本文将向读者展示如何在不牺牲Linux系统可用性的前提下,缩短系统的启动时间。

作者:beiyue 来源:赛迪网技术社区 2007年10月18日

关键字: 方法 启动 操作系统 Linux

  • 评论
  • 分享微博
  • 分享邮件

如果用户想暂时终止某一runlevel的一项服务,只要删除相对应的链接就行了。然而,对链接进行手动设置是一项繁重而又易错的工作,但有一个十分有用的帮手,它的名字叫chkconfig。

分辨没被终止的服务

要想了解哪些服务没有被终止,那么用户需要运行/sbin/chkconfig -list命令。下面展示了命令执行后的显示结果,用户可以清楚地看到每一行有八项内容。chkconfig命令还可以用来开启或终止某一服务。

  afs 0:off 1:off 2:off 3:on 4:off 5:on 6:off
  anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  apmd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
  autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
  crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  ………

上面左起第一列显示的是服务的名称,接下来的第二列显示的是所在的runlevel和当前状态。例如ntpd(网络时间无交互后台程序)服务被设定只在runlevel 3和runlevel 5开启,而sshd服务则在runlevel 2、3、4和5开启。

也许用户会发现,在runlevel 0和runlevel 6没有启动的服务,是因为runlevel 0 和runlevel 6表示系统终止,当然没有服务了。

从属关系

正如上文提到的,系统启动时要逐一运行每个runlevel的服务。也许用户很容易想到,如果可以使多个服务同时运行,必然会节省大量的系统启动时间。但不幸的是这种方法行不通,原因是各项服务之间都存在着从属关系。传统的Linux系统并不能给用户指明服务间的从属关系。

现在通过一个简单的例子讲解如何明确服务间的从属关系。从ntpd服务需要一个网络基础可以得出结论——ntpd服务要依靠网络服务,这一关系可以用下面的语句表示:

  ntpd:network

用户可以确定netfs服务也要依靠网络服务,autofs服务也要依靠网络服务,现在就可以列出一个简单的从属关系表:

  ntpd : network
  netfs : network
  autofs : network

它的含义是一旦网络服务开启完毕,可以同时运行ntpd、netfs和autofs服务。假设启动每项服务需要10秒的时间,用传统的方法启动上面的四项服务就需要40秒的时间,而使用上面提到的方法只需要20秒就够了。事实上,各项服务的启动时间是不同的,但道理是一样的。

再例如,lpd服务(S60lpd)要在网络服务后运行,但对于一个拥有喷墨打印机接口的家用系统而言,不必先建立网络连接再安装打印机。在这种情况下,更合理的状况应该是打印机服务先于网络服务。另外crond服务(S90crond)同样应该在网络服务后运行。但是,除非用户有可以使用远端计算机文件的cron文件,否则crond服务根本不必在网络服务前运行。

可以看出,有些服务要依靠其它服务才能运行,有些服务是完全独立的,它们运行与否与其它服务毫无关系。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章