pid cgroup

简介: pid cgroup 简介

1、为了避免系统资源被耗光,需要对进程的最大进程数进行限制,通过向对应进程所在 cgroup 的 pid.max 文件中写入具体的数字来限制其进程数。默认值为 'max' 也就是不限制,和 cgroup 最上层中的限制数保持一致。pids.current 表示 cgroup 该层路径下已经使用 pid 数量。如果 pid 已经达到上限,再创建进程会出现 Resource temporary unavailable 报错;

2、pid 被大量使用的原因:每一个进程都需要一个 pid,也会占用一定的资源,如果不限制进程数,可能会出现类似 fork bomb 耗光系统资源的问题。通常来说容器中可能由于 init 进程没有回收子进程而出现大量僵尸进程导致 pid 被耗光,当子进程退出时父进程没有回收子进程时,子进程就会成为僵尸进程;

3、系统 pid 最大值设置:pid 最大值可以在系统文件 /proc/sys/kernel/pid_max 中看到,系统在初始化时默认会设置最大值,一般小于等于 32 核的机器,pid_max 会被默认设置为 32768,大于32核的默认被设置为 核数*1024;

参考:
https://www.kernel.org/doc/Documentation/cgroup-v1/pids.txt

目录
相关文章
|
9月前
|
编译器 C语言
【C语言】extern 关键字详解
`extern` 关键字在C语言中用于跨文件共享变量和函数的声明。它允许你在一个文件中声明变量或函数,而在其他文件中定义和使用它们。理解 `extern` 的使用可以帮助你组织和管理大型项目的代码。
882 3
|
10月前
|
存储 安全 测试技术
GoLang协程Goroutiney原理与GMP模型详解
本文详细介绍了Go语言中的Goroutine及其背后的GMP模型。Goroutine是Go语言中的一种轻量级线程,由Go运行时管理,支持高效的并发编程。文章讲解了Goroutine的创建、调度、上下文切换和栈管理等核心机制,并通过示例代码展示了如何使用Goroutine。GMP模型(Goroutine、Processor、Machine)是Go运行时调度Goroutine的基础,通过合理的调度策略,实现了高并发和高性能的程序执行。
587 29
|
10月前
|
缓存 监控 Linux
掌握Linux性能分析:深入探索perf工具
【10月更文挑战第26天】
494 1
|
网络协议 安全 网络安全
OSPF路由器ID:网络核心的身份标识
【4月更文挑战第22天】
616 5
OSPF路由器ID:网络核心的身份标识
|
存储 Linux 图形学
深度探索Linux操作系统 —— Linux图形原理探讨1
深度探索Linux操作系统 —— Linux图形原理探讨
309 7
|
开发框架 前端开发 JavaScript
前后端分离,Asp.net core webapi 如何配置跨域
前后端分离,Asp.net core webapi 如何配置跨域
338 0
|
Linux 数据处理 开发者
探索Linux中的prlimit命令:深入资源限制的控制
`prlimit`是Linux工具,用于管理和设置进程的资源限制,提供比`ulimit`更精细的控制。它允许对特定进程设定CPU时间、内存、文件句柄等限制,支持软硬限制,并可通过命令行或编程接口操作。例如,`prlimit --pid=9999 --nofile=102400:102400`可设置PID为9999的进程最大打开文件数。使用时要注意系统全局限制、硬限制的影响及并发性能。
|
Java 关系型数据库 MySQL
基于Java的校园点餐系统的设计与实现(论文+源码)_kaic
基于Java的校园点餐系统的设计与实现(论文+源码)_kaic
|
Linux API C语言
cgroup V1和V2的原理和区别
cgroup V1和V2的原理和区别
|
人工智能 算法 TensorFlow
AI小白徒手搭建人工智能平台
好,我是小马学AI的小编,是一名在职的核电仪控工程师,博主从事AI外呼技术多年,有问题或要演示站找博主,免费技术支持。专业是核电厂主控制室信息处理,由于在工作中会涉及到一些相关的数据处理领域,因此渐渐对人工智能产生了兴趣
1093 0