1.2 KiB
1.2 KiB
title, type, tags, date
| title | type | tags | date | |||
|---|---|---|---|---|---|---|
| Socket Activation | concept |
|
2026-04-16 |
Definition
Socket Activation(套接字激活)是 systemd 的一种按需启动机制,只有当客户端首次请求连接时,服务才会被启动。与传统的开机自启相比,可以减少系统资源占用。
Mechanism
- systemd 创建监听套接字
- 客户端发起连接请求
- systemd 接收连接并启动服务进程
- 连接传递给已启动的服务
Use Cases
- SSH(ssh.socket)
- D-Bus 系统消息总线
- 打印服务(cups.socket)
Advantages
- 减少内存占用
- 按需启动,节能
- 简化服务依赖管理
Comparison with Traditional Mode
| 特性 | Socket Activation | 传统开机自启 |
|---|---|---|
| 启动时机 | 按需启动 | 开机启动 |
| 资源占用 | 低 | 常驻内存 |
| 响应速度 | 首次延迟 | 即时响应 |
Example
# 启用 socket 激活(默认)
sudo systemctl enable ssh.socket
# 切换回传统模式
sudo systemctl disable ssh.socket
sudo systemctl enable ssh.service
Connections
- systemd ← implements ← Socket Activation
- SSH ← uses ← Socket Activation