php在网站开发中的应用,南通网站建设价格,如何提高网站的自然排名,灵璧零度网站建设文章目录19 管理服务-特性说明19.1 更快的启动速度19.2 提供按需启动能力19.3 采用cgroup特性跟踪和管理进程的生命周期19.4 启动挂载点和自动挂载的管理19.5 实现事务性依赖关系管理19.6 与SysV初始化脚本兼容19.7 能够对系统进行快照和恢复19 管理服务-特性说明
19.1 更快的…
文章目录19 管理服务-特性说明19.1 更快的启动速度19.2 提供按需启动能力19.3 采用cgroup特性跟踪和管理进程的生命周期19.4 启动挂载点和自动挂载的管理19.5 实现事务性依赖关系管理19.6 与SysV初始化脚本兼容19.7 能够对系统进行快照和恢复19 管理服务-特性说明
19.1 更快的启动速度
systemd提供了比UpStart更激进的并行启动能力采用了socket/D-Bus activation等技术启动服务带来了更快的启动速度。
为了减少系统启动时间systemd的目标是
尽可能启动更少的进程。尽可能将更多进程并行启动。
19.2 提供按需启动能力
当sysvinit系统初始化的时候它会将所有可能用到的后台服务进程全部启动运行。并且系统必须等待所有的服务都启动就绪之后才允许用户登录。这种做法有两个缺点首先是启动时间过长其次是系统资源浪费。
某些服务很可能在很长一段时间内甚至整个服务器运行期间都没有被使用过。比如CUPS打印服务在多数服务器上很少被真正使用到。您可能没有想到在很多服务器上SSHD也是很少被真正访问到的。花费在启动这些服务上的时间是不必要的同样花费在这些服务上的系统资源也是一种浪费。
systemd可以提供按需启动的能力只有在某个服务被真正请求的时候才启动它。当该服务结束systemd可以关闭它等待下次需要时再次启动它。
19.3 采用cgroup特性跟踪和管理进程的生命周期
init系统的一个重要职责就是负责跟踪和管理服务进程的生命周期。它不仅可以启动一个服务也能够停止服务。这看上去没有什么特别的然而在真正用代码实现的时候您或许会发现停止服务比一开始想的要困难。
服务进程一般都会作为守护进程daemon在后台运行为此服务程序有时候会派生fork两次。在UpStart中需要在配置文件中正确地配置expect小节。这样UpStart通过对fork系统调用进行计数从而获知真正的精灵进程的PID号。
cgroup已经出现了很久它主要用来实现系统资源配额管理。cgroup提供了类似文件系统的接口使用方便。当进程创建子进程时子进程会继承父进程的cgroup。因此无论服务如何启动新的子进程所有的这些相关进程都会属于同一个cgroupsystemd只需要简单地遍历指定的cgroup即可正确地找到所有的相关进程将它们逐一停止即可。
19.4 启动挂载点和自动挂载的管理
传统的Linux系统中用户可以用/etc/fstab文件来维护固定的文件系统挂载点。这些挂载点在系统启动过程中被自动挂载一旦启动过程结束这些挂载点就会确保存在。这些挂载点都是对系统运行至关重要的文件系统比如HOME目录。和sysvinit一样systemd管理这些挂载点以便能够在系统启动时自动挂载它们。systemd还兼容/etc/fstab文件您可以继续使用该文件管理挂载点。
有时候用户还需要动态挂载点比如打算访问DVD内容时才临时执行挂载以便访问其中的内容而不访问光盘时该挂载点被取消umount)以便节约资源。传统地人们依赖autofs服务来实现这种功能。
systemd内建了自动挂载服务无需另外安装autofs服务可以直接使用systemd提供的自动挂载管理能力来实现autofs的功能。
19.5 实现事务性依赖关系管理
系统启动过程是由很多的独立工作共同组成的这些工作之间可能存在依赖关系比如挂载一个NFS文件系统必须依赖网络能够正常工作。systemd虽然能够最大限度地并发执行很多有依赖关系的工作但是类似“挂载NFS”和“启动网络”这样的工作还是存在天生的先后依赖关系无法并发执行。对于这些任务systemd维护一个“事务一致性”的概念保证所有相关的服务都可以正常启动而不会出现互相依赖以至于死锁的情况。
19.6 与SysV初始化脚本兼容
和UpStart一样systemd引入了新的配置方式对应用程序的开发也有一些新的要求。如果systemd想替代目前正在运行的初始化系统就必须和现有程序兼容。任何一个Linux发行版都很难为了采用systemd而在短时间内将所有的服务代码都修改一遍。
systemd提供了和sysvinit以及LSB initscripts兼容的特性。系统中已经存在的服务和进程无需修改。这降低了系统向systemd迁移的成本使得systemd替换现有初始化系统成为可能。
19.7 能够对系统进行快照和恢复
systemd支持按需启动因此系统的运行状态是动态变化的人们无法准确地知道系统当前运行了哪些服务。systemd快照提供了一种将当前系统运行状态保存并恢复的能力。
比如系统当前正运行服务A和B可以用systemd命令行对当前系统运行状况创建快照。然后将进程A停止或者做其他的任意的对系统的改变比如启动新的进程C。在这些改变之后运行systemd的快照恢复命令就可立即将系统恢复到快照时刻的状态即只有服务AB在运行。一个可能的应用场景是调试比如服务器出现一些异常为了调试用户将当前状态保存为快照然后可以进行任意的操作比如停止服务等等。等调试结束恢复快照即可。 点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富