Cgroup Freezer 【ChatGPT】

简介: Cgroup Freezer 【ChatGPT】

Cgroup Freezer

cgroup冷冻器对于批处理作业管理系统非常有用,该系统可以启动和停止一组任务,以便根据系统管理员的需求安排机器的资源。这种程序通常用于HPC集群,以安排对整个集群的访问。cgroup冷冻器使用cgroups来描述批处理作业管理系统要启动/停止的任务集。它还提供了一种启动和停止组成作业的任务的方法。

cgroup冷冻器还可用于对运行中的任务组进行检查点。冷冻器允许检查点代码通过尝试将cgroup中的任务强制转换为静止状态来获得任务的一致图像。一旦任务处于静止状态,另一个任务就可以遍历/proc或调用内核接口来收集有关已静止任务的信息。检查点任务可以在以后重新启动,以防发生可恢复的错误。这还允许将检查点任务在集群中的节点之间迁移,方法是将收集到的信息复制到另一个节点,并在那里重新启动任务。

SIGSTOP和SIGCONT的序列并不总是足以停止和恢复用户空间的任务。这两个信号都可以从我们希望冻结的任务内部观察到。虽然SIGSTOP无法被捕获、阻塞或忽略,但它可以被等待或ptrace父任务看到。SIGCONT特别不适合,因为它可以被任务捕获。任何旨在监视SIGSTOP和SIGCONT的程序都可能因尝试使用SIGSTOP和SIGCONT来停止和恢复任务而出现问题。我们可以使用嵌套的bash shell来演示这个问题:

$ echo $$
16644
$ bash
$ echo $$
16690

从第二个不相关的bash shell:

$ kill -SIGSTOP 16690
$ kill -SIGCONT 16690

<此时16690退出并导致16644也退出>

这是因为bash可以观察到这两个信号并选择如何对其做出响应。

另一个捕获并响应这些信号的程序的例子是gdb。实际上,任何旨在使用ptrace的程序都可能在停止和恢复任务的方法上出现问题。

相比之下,cgroup冷冻器使用内核冷冻器代码来防止冻结/解冻周期对被冻结的任务变得可见。这允许上述bash示例和gdb按预期运行。

cgroup冷冻器是分层的。冻结一个cgroup会冻结属于该cgroup及其所有后代cgroup的所有任务。每个cgroup都有自己的状态(self-state)和从父级继承的状态(parent-state)。只有当这两个状态都是THAWED时,cgroup才是THAWED。

cgroup冷冻器创建了以下cgroupfs文件。

  • freezer.state:读写。
  • 读取时,返回cgroup的有效状态 - "THAWED"、"FREEZING"或"FROZEN"。这是自身状态和父状态的组合。如果任何一个正在冻结,cgroup就处于冻结状态(FREEZING或FROZEN)。
  • 当写入时,设置cgroup的自身状态。允许两个值 - "FROZEN"和"THAWED"。如果写入了FROZEN,则cgroup(如果尚未冻结)进入FREEZING状态,以及其所有后代cgroup。
  • 如果写入了THAWED,则cgroup的自身状态将更改为THAWED。请注意,如果父状态仍在冻结,有效状态可能不会更改为THAWED。如果cgroup的有效状态变为THAWED,则因为该cgroup而处于冻结状态的所有后代也将离开冻结状态。
  • freezer.self_freezing:只读。
  • 显示自身状态。如果自身状态为THAWED,则为0;否则为1。如果最后一次对freezer.state的写入是"FROZEN",则该值为1。
  • freezer.parent_freezing:只读。
  • 显示父状态。如果cgroup的祖先中没有一个被冻结,则为0;否则为1。

根cgroup是不可冻结的,上述接口文件不存在。

使用示例:

# mkdir /sys/fs/cgroup/freezer
# mount -t cgroup -ofreezer freezer /sys/fs/cgroup/freezer
# mkdir /sys/fs/cgroup/freezer/0
# echo $some_pid > /sys/fs/cgroup/freezer/0/tasks

获取冷冻器子系统的状态:

# cat /sys/fs/cgroup/freezer/0/freezer.state
THAWED

冻结容器中的所有任务:

# echo FROZEN > /sys/fs/cgroup/freezer/0/freezer.state
# cat /sys/fs/cgroup/freezer/0/freezer.state
FREEZING
# cat /sys/fs/cgroup/freezer/0/freezer.state
FROZEN

解冻容器中的所有任务:

# echo THAWED > /sys/fs/cgroup/freezer/0/freezer.state
# cat /sys/fs/cgroup/freezer/0/freezer.state
THAWED

这是在简单场景中为用户空间任务执行正确操作的基本机制。

相关文章
|
网络协议
网络优先级cgroup 【ChatGPT】
网络优先级cgroup 【ChatGPT】
|
1月前
|
机器学习/深度学习 数据采集 人工智能
从ChatGPT到文心一言:AI为什么能“懂人话”?——大语言模型的底层逻辑揭秘
从ChatGPT到文心一言:AI为什么能“懂人话”?——大语言模型的底层逻辑揭秘
268 9
|
4月前
|
传感器 存储 人工智能
ChatGPT让AI展现‘智能’魅力,函数调用和RAG如何助力迈向AI Agent?
本文由AI产品专家三桥君探讨了AI从被动响应到主动决策的演进路径,重点分析了函数调用和RAG技术在构建AI Agent中的关键作用。文章梳理了大模型能力的迭代(原生能力与涌现能力),技术演进的三个阶段(提示工程→函数调用→RAG),并提出AI Agent需具备环境感知、推理决策和行动执行的核心要素。AI产品专家三桥君认为,未来AGI需突破跨领域学习、实时更新和安全性挑战,最终实现如"贾维斯"般的智能伙伴。
196 1
ChatGPT让AI展现‘智能’魅力,函数调用和RAG如何助力迈向AI Agent?
|
4月前
|
机器学习/深度学习 人工智能 文字识别
浏览器AI模型插件下载,支持chatgpt、claude、grok、gemini、DeepSeek等顶尖AI模型!
极客侧边栏是一款浏览器插件,集成ChatGPT、Claude、Grok、Gemini等全球顶尖AI模型,支持网页提问、文档分析、图片生成、智能截图、内容总结等功能。无需切换页面,办公写作效率倍增。内置书签云同步与智能整理功能,管理更高效。跨平台使用,安全便捷,是AI时代必备工具!
374 8
|
9月前
|
人工智能 Linux API
Omnitool:开发者桌面革命!开源神器一键整合ChatGPT+Stable Diffusion等主流AI平台,本地运行不联网
Omnitool 是一款开源的 AI 桌面环境,支持本地运行,提供统一交互界面,快速接入 OpenAI、Stable Diffusion、Hugging Face 等主流 AI 平台,具备高度扩展性。
1004 94
Omnitool:开发者桌面革命!开源神器一键整合ChatGPT+Stable Diffusion等主流AI平台,本地运行不联网
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
哈佛推出全新类ChatGPT癌症诊断AI,登上Nature!准确率高达96%
哈佛大学研究团队开发的新型AI模型CHIEF,在《自然》期刊发表,癌症诊断准确率达96%。CHIEF基于深度学习,能自动识别、分类癌症并预测生存期,具高准确性、多任务能力和泛化性。它结合病理图像与基因组学等数据,显著提升诊断效率和个性化治疗水平,有望改善医疗资源不平等。但数据隐私和临床效果验证仍是挑战。论文见:https://www.nature.com/articles/s41586-024-07894-z
438 101
|
8月前
|
人工智能 编解码 运维
当ChatGPT能写情书、Sora会造电影:我们必须掌握的AI内容识别技能
随着AI技术迅猛发展,AI生成内容在文学、新闻、绘画等领域广泛应用,但其真假难辨、质量参差不齐,可能带来信息误导、知识产权侵犯及安全风险等问题。学会识别AI生成内容至关重要,包括通过逻辑漏洞排查、语言风格分析、生物特征异常检测等手段审核文本、图片和视频。人工审核在面对高隐蔽性内容时仍不可替代,需结合工具与上下文理解共同筑起防护屏障。守护真实信息、规避风险,是每个人在AI时代应尽的责任。
253 7
|
9月前
|
存储 人工智能 API
ChatGPT-on-WeChat:Star32.4k, DeepSeek加持!这款开源神器秒变AI助手,聊天体验直接起飞!
嗨,大家好,我是小华同学。今天为大家介绍一款结合DeepSeek引擎的开源项目——ChatGPT-on-WeChat,由开发者zhayujie打造。它将微信变成智能AI助手,支持文本、图片、语音对话,具备定时提醒、天气查询等扩展功能,完全开源且易于定制。项目地址:https://github.com/zhayujie/chatgpt-on-wechat。关注我们,获取更多优质开源项目和高效学习方法。
1001 11
|
9月前
|
人工智能 自然语言处理 算法
DeepSeek vs ChatGPT:AI对决中的赢家是……人类吗?
DeepSeek VS ChatGPT:DeepSeek以开源黑马姿态崛起,凭借低成本、高性能的「DeepSeek-V3」和专为深度推理设计的「DeepSeek-R1」,成为中小开发者的首选。而ChatGPT则较贵。 然而,AI依赖也带来隐忧,长期使用可能导致记忆衰退和“脑雾”现象。为此,推荐Neuriva解决方案,专注力提升30%,记忆留存率提升2.1倍,助力人类在AI时代保持脑力巅峰。 DeepSeek赢在技术普惠,ChatGPT胜于生态构建,人类的关键在于平衡AI与脑力健康,实现“双核驱动”突破极限!
967 7

热门文章

最新文章