Giới hạn mức sử dụng CPU với bất kỳ ứng dụng nào trong Linux Trong bài viết sau đây, chúng tôi sẽ trình bày một số thao tác cơ bản để hạn chế mức sử dụng tài nguyên của CPU với bất kỳ chương trình, ứng dụng nào trong nền tảng Linux. Cụ thể, chúng ta sẽ áp dụng quá trình này với sự hỗ trợ của công cụ Cpulimit - có thể hoạt động với tất cả các distro của Linux. Tại đây, chúng ta sẽ tiến hành làm mẫu với hệ điều hành Ubuntu. Về cơ bản, các bạn có thể cài đặt Cpulimit qua Ubuntu Software Center hoặc gõ lệnh sau trong Terminal: sudo apt-get install cpulimit Cú pháp sử dụng chương trình khi muốn hạn chế 1 ứng dụng nào đó như sau: sudo cpulimit -p PID -l CPU% Trong đó, PID là số ID của ứng dụng cần hạn chế và CPU% là mức độ sử dụng của bộ vi xử lý tương ứng được cấp phát (giá trị thay đổi từ 0 – 100). Số PID các bạn có thể lấy từ System > Administration > System Monitor: Ví dụ như trong ảnh chụp màn hình trên, ứng dụng Swiftfox chiếm tới 68% mức sử dụng của CPU. Hãy chờ xem những sự thay đổi được áp dụng thế nào khi chúng ta thay đổi xuống 20%: Gần như ngay lập tức, chỉ số % của CPU cung cấp cho Swiftfox giảm xuống dưới mức 20%: Tự động áp dụng thay đổi với tất cả các ứng dụng trong hệ thống: Thực tế, việc sử dụng Cpulimit tỏ ra thực sự hữu ích khi người sử dụng phát hiện 1 hoặc nhiều chương trình nào đó đang “ngốn” quá nhiều tài nguyên của hệ thống. Thành viên abcuser từ diễn dàn Ubuntu đã giới thiệu 1 kịch bản khá hay và thực tế, đó là việc giám sát toàn bộ hệ thống, chính xác hơn là tất cả các chương trình đang hoạt động và 1 mức giới hạn sử dụng tài nguyên cố định. Bên cạnh đó, người quản trị còn có thể tạo danh sách blacklist/whitelist với từng chương trình riêng. Để làm được việc này, yêu cầu trong hệ thống cần có cpulimit và gawk: sudo apt-get install cpulimit gawk Download script tại đây, sau đó giải nén file tar vào thư mục Home, chúng ta sẽ có 2 file: cpulimit_daemon.sh và cpulimit. Mở cpulimit_daemon.sh bằng gEdit và thay đổi như sau: - CPU_LIMIT: mức độ CPU cung cấp tối đa cho từng tiến trình, giá trị mặc định là 20%. - DAEMON_INTERVAL: giá trị thời gian để script kiểm tra hệ thống trong lúc khởi động, mặc định là 3 giây. - BLACK_PROCESS_LIST: danh sách này giúp người dùng quản lý và giám sát bất kỳ thành phần nào, sử dụng dấu | để ngăn cách giữa nhiều chương trình. Ví dụ như mysql|firefox|gedit - WHITE_PROCESSES_LIST: tương tự như trên, nhưng để áp dụng với những tiến trình không cần giám sát. Cũng sử dụng dấu | để phân cách giữa nhiều thành phần, ví dụ mysql|firefox|gedit Lưu ý rằng 1 hoặc cả 2 giá trị biến của BLACK_PROCESSES_LIST và WHITE_PROCESSES_LIST phải để trống, vì không được phép tồn tại blacklist và whitelist trong cùng 1 thời điểm. Khởi tạo và thiết lập: Trước tiên, các bạn copy file cpulimit_daemon.sh vào thư mục /usr/bin/: sudo cp ~/cpulimit/cpulimit_daemon.sh /usr/bin sudo chmod 700 /usr/bin/cpulimit_daemon.sh Tiếp tục, copy file cpulimit tới thư mục /etc/init.d/folder, gán quyền và thiết lập tự khởi động cùng hệ thống: sudo cp ~/cpulimit/cpulimit /etc/init.d/ sudo chown root:root /etc/init.d/cpulimit sudo chmod +x /etc/init.d/cpulimit sudo update-rc.d cpulimit defaults Sau đó, khởi động lại hệ thống. Để kiểm tra xem daemon cpulimit có hoạt động hay không, các bạn gõ lệnh sau: sudo service cpulimit status Nếu chương trình không tự khởi động cùng hệ điều hành, hãy sử dụng lệnh: sudo service cpulimit start Hoặc ngừng hoạt động: sudo service cpulimit stop Gỡ chương trình: Nếu muốn gỡ bỏ chương trình ra khỏi hệ thống, các bạn hãy tiến hành lần lượt theo những bước sau. Trước tiên, ngừng hoạt động của daemon cpulimit : sudo service cpulimit stop # Stop cpulimit daemon and all cpulimited processes Xóa daemon khỏi danh sách những ứng dụng tự khởi động cùng hệ thống: sudo update-rc.d -f cpulimit remove # Remove symbolic links Xóa bỏ danh sách này: sudo rm /etc/init.d/cpulimit # Delete cpulimit boot-up script Gỡ chương trình cpulimit: sudo apt-get remove cpulimit Cuối cùng là gỡ gawk ra khỏi hệ thống: sudo apt-get remove gawk Ngoài ra, các bạn có thể tham khảo thêm bài viết này để biết thêm chi tiết. Chúc các bạn thành công! . Giới hạn mức sử dụng CPU với bất kỳ ứng dụng nào trong Linux Trong bài viết sau đây, chúng tôi sẽ trình bày một số thao tác cơ bản để hạn chế mức sử dụng tài nguyên của CPU với bất kỳ. trình khi muốn hạn chế 1 ứng dụng nào đó như sau: sudo cpulimit -p PID -l CPU% Trong đó, PID là số ID của ứng dụng cần hạn chế và CPU% là mức độ sử dụng của bộ vi xử lý tương ứng được cấp phát. của CPU cung cấp cho Swiftfox giảm xuống dưới mức 20%: Tự động áp dụng thay đổi với tất cả các ứng dụng trong hệ thống: Thực tế, việc sử dụng Cpulimit tỏ ra thực sự hữu ích khi người sử dụng