创建新文档

您的文档标题(将显示为 H1)
URL 友好名称(无空格,使用连字符)
创建文档的路径(可选,使用正斜杠创建子目录)

移动/重命名文档

文档的当前位置
文档的新路径(包括别名)
这只会更改文档的路径,不会修改文档的标题(H1 标题)。

删除文档

您确定要删除此文档吗?此操作无法撤销。

警告:如果这是一个文件夹,包括子文件夹和文档在内的所有内容将被删除。

Message

Message content goes here.

Confirm Action

Are you sure?

附件

允许的文件类型:jpg, jpeg, png, gif, svg, webp, txt, log, csv, sfd, zip, pdf, docx, xlsx, pptx, mp4(最大:10MB)

文档文件

正在加载附件...

文档历史

以前的版本

Loading versions...

预览

选择要预览的版本

Wiki 设置

用户界面语言
每个文档保留的版本数量。设置为0以禁用版本控制。
上传文件的最大允许大小(MB)。

用户管理

添加新用户

留空以保持当前密码
拥有这些组的用户可以访问受限部分。

为您的Wiki部分定义基于路径的访问规则。规则按顺序评估。首次匹配生效。

活动规则

从ZIP归档文件导入Markdown文件。文件将被处理并存储在适当的文档结构中。ZIP中的目录结构(类别/子类别)将在wiki中保留。

上传包含要导入的Markdown(.md)文件的ZIP归档(压缩包)。

创建和管理您的 Wiki 数据备份。备份包括所有文档、图像和配置文件。

可用备份

正在加载备份...

添加/编辑访问规则

已选择: /

添加列

systemd 资源限制

Overview

Systemd 服务可以在配置文件或者 systemd-run 临时运行时通过 -p 参数限定服务可以使用的最大资源,如CPU/Memory等

以下时AI生成内容

可以使用 systemd-run 或通过编写 systemd 单元文件来对服务进行资源限制。以下是两种方法:

1. 使用 systemd-run(临时运行)

CPU 限制

# CPU 配额(单核的百分比)
systemd-run --scope -p CPUQuota=50% command

# 限制 CPU 核数
systemd-run --scope -p CPUQuota=100% -p CPUWeight=100 command

内存限制

# 限制内存使用
systemd-run --scope -p MemoryMax=512M -p MemorySwapMax=1G command

# 仅限制内存,不限制交换空间
systemd-run --scope -p MemoryMax=1G command

综合示例

# 同时限制 CPU 和内存
systemd-run --scope \
  -p CPUQuota=75% \
  -p MemoryMax=1G \
  -p MemorySwapMax=2G \
  /path/to/command

2. 创建永久 systemd 服务文件

创建 /etc/systemd/system/my-service.service

[Unit]
Description=My Limited Service

[Service]
Type=simple
ExecStart=/path/to/command

# CPU 限制
CPUQuota=50%
CPUWeight=50
AllowedCPUs=0-1  # 仅允许使用 CPU 0 和 1

# 内存限制
MemoryMax=512M
MemorySwapMax=1G
MemoryHigh=400M  # 软限制,超过会减速

# IO 限制
IOWeight=50
IOReadBandwidthMax=/dev/sda 1M
IOWriteBandwidthMax=/dev/sda 1M

# 进程数限制
TasksMax=100

# 网络限制(需要 systemd >= 240)
# IPAccounting=yes
# IPAddressAllow=192.168.1.0/24
# IPAddressDeny=any

[Install]
WantedBy=multi-user.target

3. 常用资源限制参数

CPU 相关

内存相关

IO 相关

进程相关

4. 应用和管理

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start my-service

# 查看资源使用
sudo systemctl status my-service
systemd-cgtop  # 查看控制组资源使用

# 动态调整运行中的服务
sudo systemctl set-property my-service CPUQuota=75%

5. 验证限制

# 查看服务的 cgroup 设置
systemd-cgls /system.slice/my-service.service

# 查看具体限制
cat /sys/fs/cgroup/system.slice/my-service.service/memory.max
cat /sys/fs/cgroup/system.slice/my-service.service/cpu.max

注意事项

  1. 权限要求:大多数资源限制需要 root 权限
  2. 单位表示:可以使用 K、M、G、T 后缀(如 512M、2G)
  3. 百分比表示:CPUQuota 使用百分比,100% 表示一个完整 CPU 核心
  4. 动态修改:部分参数可以在服务运行时动态修改
  5. 版本兼容:某些功能需要较新的 systemd 版本(≥ 207)

通过合理配置这些参数,可以有效控制系统服务的资源使用,防止单个服务占用过多系统资源。

附件

正在加载附件...

评论

暂无评论。成为第一个评论者!

搜索结果