systemd是为改进传统系统启动方式而退出的Linux系统管理工具,现已成为大多数Linux发行版的标准配置

systemd与系统初始化

Linux系统启动过程中,当内核启动并完成装载跟文件系统后,就开始用户空间的系统初始化工作。Linux由三种系统初始化方式:

来源于UNIX的system V initialization

UpStart方式(SysV)

systemd方式

sysVinit初始化方式

传统的SysVinit是基于运行级别的系统。运行级别就是操作系统当前正在运行的功能级别,用来设定不同环境下所运行的程序和服务

SysVinit初始化原理简单,易于理解,可以依靠shell叫不能控制服务启动,服务脚本编写比较容易

SysV启动是线性,顺序的,启动过程比较慢。

Upstart初始化方式

Upstart是基事件机制的启动系统,它使用事件来启动和关闭系统服务。

系统服务的启动,停止等均是有事件触发的,他同时又能作为事件源触发其他服务。事件可以由内部产生,也可以由用户提供。运行级别的改变也可以被看作是事件。Upstart更加灵活,不仅能够在运行级别改变的时候启动或停止服务,也能在接收到系统发生其他改变的信息时启动或者停止服务

Upstart 使用/etc/init/目录中的系统服务配置文件决定系统服务何时启动,何时停止。

系统的所有服务和任务都是由事件驱动的。Upstart是并存的,Upstart主要解决服务的即插即用。针对服务顺序启动慢的问题。Upstart将相关的服务分组,让组内的服务顺序启动,组与组之间服务并行启动

systemd初始化方式

前两种系统初始化方式都需要由init进程来启动其他用户级别进程或服务,最终shi完成系统启动的全部过程。init始终是第一进程,其PID始终是1,他是系统所有进程额父进程。systemd初始化使用systemd取代init,作为系统的第一个进程。systemd不通过init脚本来启动服务,而是采用一种并行启动服务的机制。

systemd采用单元文件替换之前的初始化脚本呢。Linux以前的服务管理是分布式的。由SysV或Upstart通过/etc/rc.d/init.d/目录下的脚本进行管理。允许管理员控制服务的状态。采用Systemd,这些脚本就被单元文件所替代。单元有多种类型不限于服务,还包括挂载点,文件路径等。systemd的但源文件主要被放在/usr/lib/systemd/system和/etc/systemd/system/目录中。

systemd使用启动目标(Target)替代运行级别。前两种系统初始化方式使用运行级别代表特定的操作模式,每个级别可以启动特定的一些服务。启动目标类似于运行级别,又比运行级别更为灵活,它本身是一个目标类单元,可以更为灵活的为特定的启动目标组织要启动的单元,如启动服务,装载挂载点等。

systemd式Linux系统中最新的系统初始化方式,主要设计目标是刻骨SysVinit固有的缺点,尽可能的快速启动服务,减少系统资源的占用,为此实现了并改姓启动的模式,并行启动的最大的难点就在于解决服务之间的依赖性,systemd使用类似缓冲池的办法加以解决。

与Upstart相比,systemd更进一步提高了并行启动的能力,极大的缩短了系统启动的时间,Upstart采用时间驱动机制,服务可以暂不启动,但是有依赖关系的服务还是必须先启动的,这还是一种串行执行。systemd能够进一步提高并发性,即便对那些Upstart认为存在相互依赖而必须运行的服务。也可以并发启动

systemd与SysVinit兼容,支持并行化任务。按需启动守护进程,基于是事务依赖性关系精密控制各种服务,非常有助于标准化的Linux的管理。systemd提供超时机制,所有的服务有5分钟的超时限制,防止系统被卡。

____本文摘自《centos Linux系统管理与运维》

systemd管理的更多相关文章

  1. CentOs7下systemd管理知识要点

    centOs7的一个巨大的变动就是用systemd取代了原来的System V init.systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/system ...

  2. Ubuntu 18.04 使用Systemd管理MySQL 5.6

    转自:https://blog.csdn.net/skykingf/article/details/45225981 如何用Systemd管理 general 包安装的MySQL呢? 首先看看yum安 ...

  3. dockerd启动配置_修改IP和systemd管理

    docker采用CS架构,dockerd是管理后台进程,默认的配置文件为/etc/docker/daemon.json(--config-file可以指定非默认位置). 一个完整的daemon.jso ...

  4. linux任务计划 chkconfig工具 systemd管理服务 unit介绍 target介绍

    linux任务计划 任务计划:特定时间备份数据,重启服务,shell脚本,单独的命令等等. 任务计划配置文件:cat /etc/crontab [root@centos7 ~]# cat /etc/c ...

  5. 简述systemd的新特性及unit常见类型分析、使用systemd管理编译安装的nginx

    1. systemd新特性 并行处理(同时启动)所有服务. 基于依赖关系定义的服务控制逻辑 系统状态快照 按需激活进程,只有第一次被访问时才会真正启动: 2. systemd的常见unit类型 Ser ...

  6. linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍

    第8周第1次课(5月14日) 课程内容: 10.23 linux任务计划cron10.24 chkconfig工具10.25 systemd管理服务10.26 unit介绍10.27 target介绍 ...

  7. Linux centos7 linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、 target介绍

    一.linux任务计划cron crontab -u  -e -l -r 格式;分 时 日 月 周 user command 文件/var/spool/corn/username 分范围0-59,时范 ...

  8. Linux 使用 Systemd 管理进程服务

    转载自:https://mp.weixin.qq.com/s/e-_PUNolUm22-Uy_ZjpuEA systemd 介绍 systemd是目前Linux系统上主要的系统守护进程管理工具,由于i ...

  9. systemd管理网络应用

    采用systemd-networkd管理网卡 主网卡eth0的配置文件/etc/systemd/network/20-eth0.network,静态配置时内容示例如下: [Match] Name=et ...

  10. systemd管理进程

    systemd很强大的管理工具,这里简单用来管理一个进程: [Unit]Description=Imges Compress Server [Service]Type=simpleExecStart= ...

随机推荐

  1. 8.Nginx基本概述

    io网络模型介绍 1.介绍Nginx Nginx是一个高性能的HTTP和反向代理web服务器 2.常见的Web服务器 httpd Nginx Tengine OpenResty 3.介绍Nginx应用 ...

  2. Redis学习四(运维指南).

    一.上线规划 一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性. redis 的运行机器 CPU 不求核数多,但求主频高 ...

  3. 用Docker搭建一个支持https的nginx代理服务

    用Docker搭建一个支持https的nginx代理服务 说明:本文所提的服务只是作者平常测试使用,可能含有未知bug或不成熟的解决方案,仅供参考,请不要用于正式环境,当然,使用过程中有任何问题欢迎提 ...

  4. CocosCreator中_worldMatrix到底是什么(下)

    Cocos Creator 中 _worldMatrix 到底是什么(下) 1. 摘要 上篇介绍了矩阵的基本知识以及对应图形变换矩阵推倒.中篇具体介介绍了对应矩阵转换成cocos creator代码的 ...

  5. 百万年薪python之路 -- 模块

    1.自定义模块 1.1.1 模块是什么? 模块就是文件,存放一堆常用的函数和变量的程序文件(.py)文件 1.1.2 为什么要使用模块? 1.避免写重复代码,从文件级别组织程序,更方便管理 2.可以多 ...

  6. 微信小程序中的canvas基础应用

    学了东西还是要记录一下,刚入职的小萌新啊,运气好分到一个项目不是很急的组原以为时间多了可以多学一些东西,但是发现好像不知道从哪里开始下手,我太南了.... 看旁边的实习生同事一直在搞canvas,自己 ...

  7. JAVA必知必问问题-1

    数据类型 1) 基本类型: byte, int, long, float, double, boolean.... 要求记住基本类型占多少字节.范围.例如:byte 1字节范围-128-127,sho ...

  8. 学习笔记28_MVC异步请求

    *微软的MVC异步请求 使用一下方式,就能生成完整的<from>标签,以及对应的表单元素,提交时能达到异步提交的效果 <%using(Ajax.BeginForm( "Co ...

  9. nginx篇高级之优化整理

    优化思路: 一.修改连接数和工作线程让其支持更多的并发量. worker_processes 2;                    //与CPU核心数量一致 worker_connections ...

  10. [考试反思]1018csp-s模拟测试78(lrd day2) :规律

    zkt没素质果然考炸了! 但是他考炸了和我一个分 这场的状态是真的不好,T3比较简单但没有做,一直干T2结果还是跪了 T1的哈希写挂了,模数比int大了结果一乘就炸long long了. 调了一个小时 ...