专栏算法工具链J6 cgroup sample

J6 cgroup sample

新手村2025-09-29
45
0

1. 功能概述

本sample实现限制进程cpu占用率和运行的cpu核功能,此处主要介绍该sample的实现与使用方法。

1.1. 软件架构说明

本sample基于Linux通用的cgroup API,通过操作cgroup的cpu子系统和cpuset子系统配置文件,来限制sample进程的cpu占用率和运行的cpu核。

../../_images/cgroup_sample_software_structure.drawio.png

1.2. 代码位置与目录结构

本sample代码位置和目录结构如下:

代码位置如下:

目录结构如下:

1.3. API流程说明

以下为sample内API调用流程图:

../../_images/cgroup_api.png

2. 编译

2.1. 编译环境

本sample的编译环境使用SDK中的build工具,请参考: Build 环境建立

2.2. 编译说明

本sample的编译依赖封装Linux cgroup API链接库libhbcgroup提供的头文件:

编译依赖的库为:

编译命令:

3. 运行

3.1. 支持平台

J6X Matrix

3.2. 板端部署及配置

本sample的可执行文件位于板端如下路径:

3.3. 运行指南

3.3.1. 运行参数说明

下面的表格是cgroup_sample具体参数的说明:

参数名

用法

范围

是否必需

-c

指定限制的cpu占用率

整数,[1,100]

-C

指定限制运行的cpu核

整数,视芯片的cpu核数量而定

-t

指定运行进程的演示时间

整数,[0,∞),单位为s,默认1s

-h

帮助菜单

 

如果-c和-C都不选择,则不会限制cgroup_sample进程的cpu占用率和运行的cpu核。

3.3.2. 帮助菜单

3.3.3. 运行方法

执行命令示例:

限制cgroup_sample 进程的cpu占用率为20%:

限制cgroup_sample进程只运行在cpu核2:

限制cgroup_sample进程运行在cpu核1,4:

3.3.4. 运行结果说明

运行本sample后,可通过top命令验证本sample进程的cpu占用率和运行的cpu核。

运行结果1

../../_images/display_cpu20_core2.jpeg

运行结果2

../../_images/display_cpu20_core1-4.jpeg

特别说明

查看cpu核,在执行top命令后,需进行如下操作:

  1. 按f键,弹出管理窗口;

  2. 按上下键选择下图指示的属性P;

  3. 按空格键选中该属性(选中后会高亮);

  4. 按q键退出;

即可显示进程运行的cpu核。

../../_images/cgroup_search_process_core.jpeg
算法工具链
社区征文征程6底层软件官方教程
评论0
0/1000