CPULIMIT_FORK(1) User Commands CPULIMIT_FORK(1)

cpulimit_fork - 限制指定进程CPU使用率的工具

cpulimit_fork PID PERCENT [OPTIONS]

cpulimit_fork 是一个用于限制指定进程CPU使用率的工具,通过发送SIGSTOP和SIGCONT信号来控制进程的运行状态,确保其CPU使用率不超过设定的阈值。

该工具通过以下方式工作: - 监控目标进程的CPU使用时间(从/proc文件系统读取jiffies数据) - 维护一个循环缓冲区存储进程的CPU使用快照 - 动态计算进程的CPU使用率并与限制阈值比较 - 根据比较结果发送信号控制进程运行或暂停 - 自动适应系统CPU核心数量调整限制范围

目标进程的进程ID,必须是一个有效的非负整数。工具会验证该进程是否存在,并检查是否有控制权限。
CPU使用率限制值(百分比),必须在1到系统CPU核心数×100之间。例如,在4核系统上,有效范围是1-400。

启用惰性模式(默认)。当目标进程不存在或已终止时,工具会立即退出。
禁用惰性模式。当目标进程不存在或已终止时,工具会每2秒重试一次,直到进程出现。
显示帮助信息并退出。
显示版本信息并退出。

限制PID为1234的进程CPU使用率不超过50%:
cpulimit_fork 1234 50
在4核系统上限制PID为5678的进程CPU使用率不超过200%(相当于总CPU的50%):
cpulimit_fork 5678 200
禁用惰性模式,持续等待并限制PID为9012的进程,使用率不超过30%:
cpulimit_fork 9012 30 --no-lazy

/proc/[PID]/stat
用于获取目标进程的CPU时间信息
/var/log/syslog
记录工具运行日志,包括进程ID和限制值

* 工具需要足够的权限才能向目标进程发送信号 * 不能用于限制自身进程(会提示错误并退出) * 退出时会自动发送SIGCONT信号恢复目标进程运行 * 限制精度依赖于系统时钟和调度机制

kill(1), top(1), proc(5), kylin-process-manager(1)

Kylin操作系统开发团队

Copyright © 2025 Kylin OS. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2025-10-16 Kylin 1.0