Tải bản đầy đủ (.pdf) (6 trang)

Giới hạn mức sử dụng CPU với bất kỳ ứng dụng nào trong Linux docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (300.47 KB, 6 trang )

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!

×