cgroup--freezer测试

【笔记版】cgroup大摸底 cgroup v2相比于cgroup v1提供了更强大的资源控制和管理能力,但在一些旧的系统中可能仍然使用cgroup v1。cgroup v2:是对cgroup v1的改进版本,引入了新的目录结构和接口。systemd cgroup:systemd 是一种使用cgroup实现的初始化系统,它对cgroup进行了一些自定义的修改和扩展,用于管理和控制系统服务和进程。cgroup v1:是最早实现的cgroupfs驱动,将cgroup目录结构以层级树的形式组织,使用文件系统的形式提供限制和控制接口。 阅读详情
   The freezer subsystem suspends or resumes tasks in a cgroup.
   freezer.state
         freezer.state has three possible values:
               FROZEN — tasks in the cgroup are suspended.
               FREEZING — the system is in the process of suspending tasks in the cgroup.

               T HAWED — tasks in the cgroup have resumed.



T o suspend a specific process:
1. Move that process to a cgroup in a hierarchy which has the freezer subsystem attached to it.

2. Freeze that particular cgroup to suspend the process contained in it. 


It is not possible to move a process into a suspended (frozen) cgroup. 

Note that while the FROZEN and T HAWED values can be written to freezer.state,

FREEZING cannot be written, only read.



创建一个任务

sina@ubuntu:~$ ./a.out &
[1] 9343

将这个任务 attack 进 test :
root@ubuntu:/sys/fs/cgroup/freezer/test# echo 9343 > tasks


把任务的状态设置为 FROZEN

root@ubuntu:/sys/fs/cgroup/freezer/test# echo FROZEN > freezer.state

观察cpu 使用率,可见迅速递减。






【学习】Linux 内核中的 cgroup freezer 子系统 cgroup_freeze中通过css_for_each_descendant_pre循环将父cgroup的freeze状态传递到各子孙cgroup中,父cgroup被freeze或者unfreeze,其目录下的子cgroup也会被freeze或者unfreeze,执行动作是在函数cgroup_do_freeze中,cgroup_do_freeze会循环遍历cgroup中的task执行cgroup_freeze_task函数做下一步的冻结/解冻操作。在本文中,我们只是简单介绍了内核冻结功能的实现逻辑。 阅读详情

相关推荐

从内核到框架:拆解AndroidU进程冻结如何通过cgroup实现省电优化

本文深入解析AndroidU进程冻结机制如何通过Linux内核的cgroup freezer子系统实现省电优化。该技术将后台进程置于冻结状态而非终止,实现CPU资源释放与瞬时恢复的平衡,测试显示可降低35%CPU负载并节省18%电量。文章详细剖析了从内核到框架层的实现原理,包括cgroup工作机制、AndroidU增强特性及开发者调试技巧。

weixin_29245767的博客 363

cgroup-----freezer子系统

freezer子系统 freezer子系统用于挂起和恢复cgroup中的进程。freezer有一个控制文件:freezer.state,将FROZEN写入该文件,可以将cgroup中的进程挂起,将THAWED写入该文件,可以将已挂起的进程恢复。该文件可能读出的值有三种,其中两种就是前面已提到的FROZEN和THAWED,分别代表进程已挂起和已恢复(正常运行),还有一种可能的值为FREEZIN

西红柿炒土豆 2139

Android15后台优化实战:如何用cgroup冻结技术让手机更省电?

本文深入解析Android15中的cgroup冻结技术如何优化后台应用管理,显著提升手机续航能力。通过分层冻结策略、Binder通信优化和智能解冻预测,Android15实现了高达44.8%的待机耗电降低。文章还提供了应用适配方案和性能测试数据,帮助开发者充分利用这一省电技术。

weixin_29260291的博客 319

cgroup子系统3_freezer子系统

freezer子系统用于挂起和恢复cgroup中的进程。freezer有一个控制文件:freezer.state,将FROZEN写入该文件,可以将cgroup中的进程挂起,将THAWED写入该文件, 可以将已挂起的进程恢复。通过遍历cgroup中的进程,对其freeze或者wake_up。freeze操作通过freeze框架实现,设置进程的TIF_SIGPENDING函数(伪信号),唤醒进程,

奔跑的Linerdx的专栏 2659

【CGroup原理篇V1】九、FREEZER子系统

FREEZER子系统可以暂停或者恢复控制组中的进程。

从0到1,突破自己 1716

cgroup限制io速率方法+验证

cgroup限制io速率方法+验证

a2591748032的博客 1735

cgroup

Cgroupserver1.example.com 172.25.23.1 rhel6.5 Iptables selinux disabled1.安装,启动软件yum insatll libcgroup -y/etc/init.d/cgconfig start2.内存限制ls /cgroup/# 可查看所有可以用的限制ls /cgroup/memory # 查看memo...

weixin_33953384的博客 185

SpringCloudGateway网关高频20个面试题整理

Spring Cloud Gateway 是基于 Spring 5、Project Reactor 和 Spring Boot 2 构建的 API 网关,提供动态路由、监控、弹性、安全等核心功能。Spring Cloud Gateway 是 Spring Cloud 生态中的 API 网关,用于微服务架构中的请求路由、负载均衡、限流、鉴权等。实现@Component@Override// 逻辑处理。

u012024132的专栏 1114

waydroid之使用篇

waydroid如何播放视频以及使用浏览器

weixin_44292614的博客 389

使用freesurfer和3Dslicer进行脑区分割和电极定点(详细版)

1、安装好matlab和freesurfer2、在目标位置创建文件夹3、开放权限4、将需要计算的nii文件放入文件夹。

zQIANYUN的博客 5622

运放偏置电路设计:如何精准计算差分放大器的电压偏移量

本文深入解析了差分放大器偏置电路的设计原理与精准计算方法,重点阐述了如何通过引入参考电压实现信号电压偏移,以适应单电源ADC的输入范围。文章结合实战案例,详细推导了偏移电压公式,并强调了电阻匹配、运放选型及PCB布局对精度和共模抑制比的关键影响,帮助硬件工程师避免常见设计陷阱。

weixin_29288313的博客 633

Cgroup和Namespace在测试中的使用(上)

很多时候需要测试程序在资源受限情况下的表现,普通的做法可能是不断对系统加压使能够分配给目标程序的资源变少,换另一个思路思考,可以尝试限制分配给目标程序的资源总数,使得机器状态健康的情况下让程序资源使用达到饱和。 作为一个正在做着容器项目的人,知道容器技术是依靠Cgroup和Namespace来实现的。在容器中,cpu和内存资源是使用Cgroup来控制,PID、IPC、网络等资源是通过Namesp

码农崛起 874

不用FFmpeg!纯前端实现RTSP直播的3种现代方案对比(WebSocket/Wasm/WebCodecs)

本文深入探讨了纯前端实现RTSP直播的三种现代技术方案:WebSocket代理转发、Wasm解码和WebCodecs硬解。通过详细的架构设计、性能实测数据和兼容性分析,帮助开发者在安防监控、智慧城市等场景中选择最佳方案,实现低延迟、高效率的视频流处理。

lilh34434的博客 231

Android Freezer

Android从诞生之初就有一个难题: 怎么最大限度的优化进程对有限的系统物理资源的使用,比如CPU、电量、内存等,同时保证良好的用户体验。很多进程在停止和用户交互之后,会长期停留在后台,此时它们对于用户体验没有任何贡献。Android之所以没有立刻杀掉这些进程,是出于用户恢复使用这些进程时,启动速度的考虑。但是这些进程在后台却可以持续占据使用CPU,有些会在后台持续消耗内存。怎么在不杀掉这些进程的基础之上,最大限度的限制这些进程?Freezer 挺身而出,通过“冰冻”的方式解决问题。方式一 开发者选项 “

xiaokangss的博客 2449

卷积码和Turbo码

通信原理相关博文目录:目录我们常在移动通信中遇到的卷积码就是一种非分组码,卷积码和信号处理中的卷积运算有关系吗?是不是就是信号处理中的卷积运算,先看看编码器的编码原理再说:下面是一个比较实用的卷积码编码器:它有三个移位寄存器D0,D1,D2和三个模2加法器,以及一个旋转开关组成,编码前,先将各级移位寄存器清零:现在假设输入的信息码元是1101:当输入的第一个码元为1时,三个模2加法器计算的结果都为...

Reborn Lee 2万+

游戏数据训练世界模型:AI物理规律学习与仿真应用实践

世界模型作为理解现实世界动态的AI工具,通过多模态数据学习物理和空间属性来预测未来状态。其核心原理在于从环境交互中提取物理规律,技术价值体现在能够安全、低成本地训练AI系统应对复杂场景。在应用层面,游戏数据因其结构化环境和内置物理引擎,成为世界模型训练的优质素材。游戏世界中的物体交互、运动轨迹等数据天然包含现实物理规律,特别适合训练物理AI。本文以General Intuition公司获得3.2亿美元融资为切入点,深入探讨游戏数据在世界模型训练中的技术实现路径,涵盖数据提取管道构建、多模态数据融合方法,以及

weixin_29056865的博客 367

多核实时系统中内存干扰问题与Cgroup解决方案

在多核处理器系统中,内存干扰是影响实时任务可预测性的关键因素,主要表现为缓存污染和带宽饱和。通过Cgroup技术实现资源隔离,可以有效降低任务间的相互干扰。本文介绍了基于静态Cgroup层次构建的算法设计,结合freezer控制器的工作机制,详细解析了如何量化任务间干扰程度并实施冻结策略。实验证明,该方法能显著减少截止时间违约率,提升L2缓存命中率,适用于自动驾驶、工业控制等安全关键场景。

dianzongfan5428的博客 372

产品缺陷检测:表面缺陷检测_(1).产品缺陷检测基础理论

确定像素之间的相似性准则,如灰度值的差异。

zhubeibei168的博客 832

Docker容器学习 --- cgroup搭建

[root@server1 ~]# yum search cgroup Loaded plugins: product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Loa...

Logbook的博客 1617

蓝牙协议栈详解(3)——BTstack

BTstack是一个轻量级蓝牙协议栈,支持经典蓝牙(BR/EDR)和低功耗蓝牙(BLE)。它采用事件驱动模型,可运行在MCU/CPU上,通过HCI接口与蓝牙控制器通信。协议栈包含完整的蓝牙协议层支持,如L2CAP、RFCOMM、ATT/GATT等,并提供丰富的示例代码。 主要特点包括模块化设计、开源授权、支持多种HCI传输方式(UART/USB)和操作系统适配。开发时需要关注事件驱动编程模型、内存配置优化、HCI传输稳定性等问题。典型应用场景包括SPP串口通信、BLE外设开发等。 使用建议从最小示例开始,逐

嵌入式软硬件叶玄 291

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

利用cgroup对Docker做权限限制

系统6 [root@server1 ~]# cd /cgroup/ [root@server1 cgroup]# /etc/init.d/cgconfig start [root@server1 cgroup]# ll [root@server1 cgroup]# cd memory/ [root@server1 memory]# ls [root@server1 memory]# vim ...

Le_Anny的博客 1224

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【手把手教你使用cgroup配置,十分钟就会】

十分钟,手把手教会你怎么使用cgroup给自己的程序添加内存限制

神技圈子的博客 1750

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

cgroup--cgroup 测试

cgroups全称control groups,在RHEL6的2.6.32内核中已经包括了cgroup的patch。这里强烈建议安装RHEL6(CentOS6)来使用cgroups,如果没有的话, 只能升级内核了 ( > 2.6.26版本)  安装cgroups apt-get install cgroup-bin 改变配置:vi /etc/cgconfig.conf 

XscKernel的专栏 记录工作中做的点滴 3647

Cgroup资源限制

一、Cgroup (1)Docker通过 Cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。 (2)Cgroup 是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源的机制。 Cgroup 子系统: 1、blkio:设置限制每个块设备的输入输出控制; 2、cpu:使用调度程序为 cgroup 任务提供 cpu 的访问...

702
上一篇: cgroup--内存 限制内存测试
下一篇: cgroup--device测试
xianjian_x
博客等级 码龄14年 231粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值