Tôi vận hành một hệ thống Linux có rất nhiều người dùng nhưng đôi khi xảy ra lạm dụng; trong đó người dùng có thể chạy một tiến trình duy nhất sử dụng tới hơn 80% CPU / Bộ nhớ.
Vì vậy, có cách nào để ngăn chặn điều này xảy ra bằng cách giới hạn lượng sử dụng CPU mà một quá trình có thể sử dụng (chẳng hạn đến 10%)? Tôi biết cpulimit
, nhưng không may áp dụng giới hạn cho các quy trình tôi hướng dẫn để giới hạn (ví dụ: các quy trình đơn lẻ). Vì vậy, câu hỏi của tôi là, làm thế nào tôi có thể áp dụng giới hạn cho tất cả các quy trình và quy trình đang chạy sẽ được chạy trong tương lai mà không cần cung cấp id / path của họ chẳng hạn?
cpulimit
kết hợp với kịch bản tìm kiếm của bạn. Có chính sách và khuyến nghị sử dụng cpulimit
, sau đó tìm kiếm trên 10% và sau đó giới hạn ở mức 5% (vì vậy người dùng được khuyến khích sử dụng cpulimit
). Đồng thời đảm bảo rằng bạn có thể phát hiện nhiều quy trình thêm tối đa 10% cho một người dùng.
cpulimit
là cách tốt hơn so với việc giết quá trình vì nó có thể được người dùng khởi động lại sau này (như được nêu trong một trong những bình luận của bạn). Cảm ơn bạn!