How to limit the CPU or memory usage of a process or service?

https://access.redhat.com/solutions/1578713

How to limit the CPU or memory usage of a process or service?

 SOLUTION UNVERIFIED - Updated May 11 2018 at 9:07 PM - 

English 

Environment

  • Red Hat Enterprise Linux 7

Issue

For example:
- How to limit the usage of httpd process to 20% of the CPU and maximum 500Mb of total RAM?

Resolution

1. To limit memory to 500 Mb for httpd

  • On the fly:

Raw

# systemctl  set-property --runtime httpd.service  MemoryLimit=500M
  • Persistant Change:

Raw

# systemctl set-property httpd.service MemoryLimit=500M
# systemctl daemon reload
# systemctl restart httpd.service

2. To limit httpd to use 20% of the CPU

To limit CPU usage CPUShare can be used, however to achieve the exact requirement the best way would be using CPUQuota

The CPUQuota feature is now available from RHEL 7.2 released under RHBA-2015-2092

  • On the fly:

Raw

# systemctl  set-property --runtime httpd.service CPUQuota=20% MemoryLimit=500M
  • Persistent change:

Raw

# systemctl  set-property httpd.service CPUQuota=20% MemoryLimit=500M
# systemctl daemon reload
# systemctl restart httpd.service

3. Where can I get more details regarding each options ?

Raw

# man systemd.resource-control

4. Also there is a tool to monitor real-time resource usage by control groups

Raw

# systemd-cgtop

Using this command you can check the resource usage and confirm if the limitation has been imposed.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值