下载
EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

限制进程的CPU使用率或内存使用量(Linux)

如果用户想限制ascend-deployer运行的CPU使用率或内存使用量,可参考本章节。

cgroups全称control groups,是Linux内核提供的一种可以限制单个或多个进程所使用资源的机制,可以对CPU、内存等资源实现精细化的控制。操作参考如下:

  • 限制ascend-deployer运行CPU
    1. 创建子目录。
      cd /sys/fs/cgroup/cpu
      mkdir ascend-deployer         # 目录名可自定义

      创建完ascend-deployer目录后,会自动在该目录下生成cpu.cfs_period_us、cpu.cfs_quota_us等文件。

    2. 进入ascend-deployer目录,设置相应文件中的值。对于CPU的限制主要涉及以下文件。
      表1 文件说明

      文件名

      说明

      cpu.cfs_period_us

      统计CPU使用时间的周期,单位是微秒(us),取值范围为1000~1000000,默认为100000。

      cpu.cfs_quota_us

      设置的周期内允许占用的CPU时间(指单核的时间,多核需要在设置时累加), 默认为-1表示不限制。

      • 例如想限制为30%,则修改值为30000。
      • 例如想限制最多使用CPU两个核,则修改值为200000。

      tasks

      需要限制的程序进程pid列表。对于限制生效后的pid派生的子进程,会自动将其子进程的pid也加入到该文件中。

      建议将运行程序的shell的pid(执行命令echo $$)添加到tasks之后,再启动程序。

      以限制最大CPU使用率为50%为例,操作如下:

      cpu.cfs_period_us文件值保持默认,修改cpu.cfs_quota_us值为50000,在准备运行ascend-deployer的shell窗口执行echo $$查询其pid,并将其写入tasks文件中。

  • 限制ascend-deployer运行内存
    1. 创建子目录。
      cd /sys/fs/cgroup/memory
      mkdir ascend-deployer      # 目录名可自定义

      创建完ascend-deployer目录后,会自动在该目录下生成memory.limit_in_bytes、tasks等文件。

    2. 进入ascend-deployer目录,设置相应文件中的值。对于内存的限制主要涉及以下文件。
      表2 文件说明

      文件名

      说明

      memory.limit_in_bytes

      限制进程的内存使用量。

      例如限制最多使用500M内存,值应为500*1024*1024=524288000。将memory.limit_in_bytes文件中的值修改为计算所得值524288000。

      tasks

      需要限制的程序进程pid列表。对于限制生效后的pid派生的子进程,会自动将其子进程的pid也加入到该文件中。

      建议将运行程序的shell的pid(执行命令echo $$)添加到tasks之后,再启动程序。

      以限制最多使用500M内存为例,将memory.limit_in_bytes文件中的值修改为计算所得值524288000,在准备运行ascend-deployer的shell窗口执行echo $$查询其pid,并将其写入tasks文件中。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词