赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 实践教程
  5. 稳定性最佳实践
  6. 故障演练
  7. 系统资源演练
  8. PID资源不足演练

PID资源不足演练

  • 系统资源演练
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

在操作系统中,PID(Process Identifier)是用于唯一标识进程的数字,可以在进程释放后被重复利用。虽然很难将PID资源耗尽,但仍存在意外耗尽的情况,导致新进程无法创建,可能会导致业务挂起,从而影响业务能力。因此,有必要模拟PID资源耗尽或主动模拟业务挂起的情况,以检测业务的高可用能力。

实现原理

本方案使用云助手插件ACS-ECS-TaskLimit,使用fork()方法创建进程,直至达到操作系统的pid_max或threads-max中的较小值,从而阻塞新进程/线程的创建。

使用指南

演练准备

请确保您的ECS实例已安装云助手Agent,并且云助手状态为正常。具体操作,请参见查看云助手状态及异常状态处理。

故障注入

  1. 登录ECS实例。

    具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。

  2. 使用具有sudo访问权限的用户,运行云助手插件ACS-ECS-TaskLimit。

    重要

    ACS-ECS-TaskLimit插件不影响已经存在的业务进程,仅影响新业务进程的创建。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TaskLimit --params inject

    显示如下所示时,说明云助手插件ACS-ECS-TaskLimit已启动。

    image

  3. 查看故障注入是否成功。

    故障注入后,无法创建新的业务进程,创建新的业务进程都会提示-bash: fork: retry: Resource temporarily unavailable。

    image

故障恢复

您可以使用以下方式,移除注入的故障。

  • 方法一(推荐):重启实例,具体操作,请参见重启实例。

  • 方法二:如能正常执行命令,执行以下恢复命令。

    重要

    该指令可能由于系统阻塞而导致执行失败。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TaskLimit --params recover
相关文章

PID资源不足演练 2025-04-01 11:57

在操作系统中,PID(Process Identifier)是用于唯一标识进程的数字,可以在进程释放后被重复利用。虽然很难将PID资源耗尽,但仍存在意外耗尽的情况,导致新进程无法创建,可能会导致业务挂起,从而影响业务能力。因此,有必要模拟PID资源耗尽或主动模拟业务挂起的情况,以检测业务的高可用能力

系统时间跳变演练 2025-04-01 11:57

时间跳变指系统时钟突然发生变化。系统时间的准确性、系统各组件时间的一致性,对于生产系统至关重要,否则会导致依赖时间的各种服务异常,如日志、同步备份等。通过时间跳变演练可以验证系统在发生系统时间跳变时,能否及时同步恢复正确时间并恢复业务。 实现原理 本方案使用云助手插件ACS-ECS-Tim

系统负载高演练 2025-04-01 11:57

系统负载load是衡量系统工作量的一个指标,具体的表示为:在特定时间间隔内,系统处于可运行状态和不可中断状态的平均进程数。监控负载load是一个重要指标,可以判断当前业务的负载情况,用于及时告警并做出应对措施。 实现原理 本方案使用云助手插件ACS-ECS-HighLoad,

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号