Centos7 cgroups, giới hạn cổ phiếu cpu cho cronjobs


1

Có thể giới hạn cổ phần cpu cho các quy trình bắt đầu từ cron không? Bối cảnh: Chúng tôi đã chia sẻ lưu trữ trên Centos7 và khách hàng có thể tạo cronjobs thông qua điều khiển directadmin. Đôi khi những cronjobs ăn tất cả cpu. Đó là lý do tại sao tôi muốn giới hạn cpu cho các quy trình được bắt đầu bởi cronjobs.

Tôi đã thử:

# systemctl set-property crond.service CPUShares=500

Nhưng các công việc bắt đầu từ cron dường như chuyển đến user.slice: /user.slice/user-1003.slice/session-283630.scope

# systemctl show session-283630.scope -p CPUShares
CPUShares=18446744073709551615

Vì vậy, có vẻ như nó không được thừa hưởng cpushares.

Có thể giới hạn cổ phiếu cpu cho cronjobs không?

BTW: tại sao nó hiển thị CPUShares = 18446744073709551615 mà không phải CPUShares = 1024? Khi tôi kiểm tra /sys/fs/cgroup/cpu,cpuacct/user.slice/user-0.slice/cpu.shares, nó hiển thị 1024:

# cat /sys/fs/cgroup/cpu,cpuacct/user.slice/user-0.slice/cpu.shares 
1024

Nhưng với systemctl thì hiển thị CPUShares = 18446744073709551615:

# systemctl show user-0.slice -p CPUShares
CPUShares=18446744073709551615

Câu trả lời:


0

Có vẻ như bộ định thời systemd có thể là câu trả lời cho những gì bạn cần, bộ định thời systemd có hỗ trợ riêng cho các nhóm, thông tin thêm ở đây: https://wiki.archlinux.org/index.php/Systemd/Timers

Nếu bạn phải thực thi bằng cron cgexec có thể là vé, thì điều này không dành cho tất cả các cronjobs, điều này sẽ phải cụ thể đối với lệnh chạy trong cronjob. Thêm thông tin ở đây: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/resource_man quản lý_guide / start_a_ process

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.