• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Quản trị hệ thống Linux OS

Cách quản lý mức độ ưu tiên của tiến trình I/O trong Linux

@admiz by @admiz
08/05/2021
in Linux OS, Quản trị hệ thống
0
Cách Quản Lý Mức độ ưu Tiên Của Tiến Trình I/o Trong Linux 6094edcb5663c.jpeg

Bạn đã từng sao chép hoặc di chuyển hàng chục hoặc hàng trăm gigabyte dữ liệu chưa? Nếu đã thực hiện việc này, bạn chắc chắn nhận thấy rằng hệ thống trở nên ít đáp ứng hơn trong thời gian đó. Trên Linux, bạn có thể tránh điều này với sự trợ giúp của lệnh ionice.

Quản lý mức độ ưu tiên của tiến trình I/O trong Linux với ionice

  • Mức ưu tiên I/O là gì?
  • Mức ưu tiên I/O hoạt động như thế nào?
  • Cách sử dụng lệnh ionice
    • Các scheduling class ionice
    • Những ví dụ ionice hữu ích

Mức ưu tiên I/O là gì?

I/O là viết tắt của Input/Output (đầu vào/đầu ra). Có nhiều loại thiết bị I/O, nhưng trong trường hợp này, đó là các thiết bị lưu trữ.

Mỗi tiến trình muốn đọc hoặc ghi dữ liệu vào một thiết bị như vậy được chỉ định một scheduling class và số ưu tiên (hay giá trị “nice”). Điều này áp dụng trên Linux đối với các hệ thống file như ext4. Các hệ thống file khác, chẳng hạn như ZFS, có thể thực hiện các phương pháp hơi khác nhau để lên lịch cho các hoạt động đọc/ghi trên ổ đĩa. Ngoài ra, trình lập lịch CFQ nên được kích hoạt để làm việc này. Bạn có thể kiểm tra với:

cat /sys/block/*/queue/scheduler

Một tiến trình với giá trị “nice” cao có mức độ ưu tiên thấp hơn.

Mức ưu tiên I/O hoạt động như thế nào?

Một thiết bị lưu trữ rõ ràng có số lượng hoạt động I/O giới hạn mà nó có thể thực hiện mỗi giây (IOPS). Vì vậy, khi hai tiến trình muốn đọc/ghi cùng một lúc, mỗi tiến trình sẽ nhận được một phần IOPS. Nếu chúng có cùng mức độ ưu tiên, mỗi tiến trình sẽ nhận được khoảng 50% IOPS.

Mức ưu tiên I/O

Nhưng IOPS có vẻ trừu tượng và phức tạp. Để đơn giản, bạn chỉ cần nghĩ về kết quả cuối cùng: Tốc độ đọc/ghi. Giả sử ổ đĩa có thể ghi với tốc độ tối đa 100MB/s. Tiến trình A bắt đầu một thao tác ghi. Nó ghi vào ổ đĩa với tốc độ 100MB/s. Tiến trình B xuất hiện và muốn ghi vào cùng một ổ đĩa. Nó sẽ ghi với tốc độ khoảng 50MB/s, đồng thời đưa tốc độ ghi của tiến trình A về cùng giá trị, 50MB/s. Bây giờ, nếu bạn gán cho tiến trình B một giá trị nice I/O cao hơn, nó sẽ ghi với tốc độ 20MB/s và để cho tiến trình A ghi với tốc độ 80MB/s. Khi tiến trình A hoàn thành, tiến trình B sẽ bắt đầu ghi với tốc độ 100MB/s.

Ví dụ này rất hữu ích để hiểu điều gì đó có thể gây nhầm lẫn cho một số người. Nếu một tiến trình có mức độ ưu tiên rất thấp (giá trị nice cao), thì không có nghĩa là tiến trình đó sẽ ghi chậm mọi lúc. Nếu đó là tiến trình duy nhất sử dụng ổ đĩa, nó sẽ đọc/ghi với tốc độ tối đa. Nhưng khi các tiến trình khác cần ổ đĩa, nó sẽ tạm thời thoát ra và cho phép những tiến trình đó sử dụng nhiều băng thông ổ đĩa hơn. Đối với một hoạt động sao chép/ghi có thể mất hàng giờ để hoàn thành, việc gán cho nó một mức ưu tiên thấp là ý tưởng hay, nếu bạn muốn sử dụng máy tính của mình trong thời gian đó.

Cách sử dụng lệnh ionice

Cú pháp chung của lệnh là:

ionice -c scheduling_class -n priority_nice_value command

Các scheduling class ionice

Idle (class 3): Các tiến trình trong class (lớp) này chỉ đọc/ghi khi không có chương trình nào khác cần truy cập ổ đĩa. Điều này có nghĩa là quá trình đọc/ghi chỉ ở tốc độ tối đa khi nó không bị cạnh tranh. Khi một chương trình khác cần ổ đĩa, tiến trình trong class Idle sẽ chỉ đọc/ghi với bất kỳ tài nguyên nào còn lại. Từ 100MB/s, nó có thể tạm thời ghi với tốc độ 5MB/s, sau đó quay lại 100MB/s khi chương trình khác hoàn thành việc truy cập vào ổ đĩa. Đây là class hoàn hảo cho các công việc dài hạn mà bạn không muốn làm chậm hệ thống của mình. Không có mức ưu tiên nào cần phải chỉ định cho class này.

Lệnh ví dụ:

ionice -c 3 cp /home/user/largefile /Backups

Best-effort (class 2): Có mức ưu tiên/giá trị nice trong khoảng từ 0 đến 7. Hãy nhớ rằng, số thấp hơn có nghĩa là mức độ ưu tiên cao hơn. Hãy sử dụng class này khi bạn muốn tinh chỉnh thời gian truy cập ổ đĩa cho hai hoặc nhiều tiến trình.

Ví dụ, bạn muốn quá trình sao lưu của mình hoàn thành nhanh hơn và gán cho nó giá trị nice là 0. Đồng thời, bạn cũng đang chuyển 6 bộ phim sang ổ đĩa khác nhưng không vội, vậy hãy chỉ định giá trị nice cho tiến trình này là 7.

Lệnh ví dụ:

ionice -c 2 -n 0 backup_command

Best-effort (class 2)

Realtime (class 1): Chỉ nên sử dụng nếu việc tiến trình nên được ghi càng sớm càng tốt và không bị gián đoạn bởi bất kỳ chương trình nào khác rất quan trọng. Hầu hết người dùng sẽ không bao giờ cần điều này và nên tránh sử dụng, trừ trường hợp đặc biệt. Class này cũng hỗ trợ các giá trị nice trong khoảng từ 0 đến 7. Chỉ root mới có thể sử dụng class này. Điều đó có nghĩa là bạn sẽ phải thêm tiền tố sudo vào lệnh.

Lưu ý rằng một tiến trình trong class Realtime có mức độ ưu tiên 0 có thể ngăn cản các tiến trình tài nguyên khác. Về mặt thực tế, điều đó có nghĩa là chương trình khác có thể phải chờ vài phút hoặc thậm chí hàng giờ để hoàn thành việc ghi/đọc một vài megabyte dữ liệu. Hãy sử dụng class này cẩn thận, chỉ khi bạn chắc chắn mình cần đến nó. Nếu một tiến trình quan trọng trong class 2 hoặc 3 cần truy cập ổ đĩa, hệ thống của bạn có thể đóng băng cho đến khi tiến trình trong class Realtime được ghi xong.

Lệnh ví dụ:

sudo ionice -c 1 -n 7 bash

Những ví dụ ionice hữu ích

Trong ví dụ cuối cùng, thay vì chạy lệnh sao chép/di chuyển, shell đã được khởi chạy (Bash). Bây giờ, mỗi lệnh tiếp theo bạn nhập vào shell đó sẽ kế thừa scheduling class I/O và mức độ ưu tiên. Bạn cũng có thể làm điều này trên một giao diện đồ họa.

ionice -c 3 pcmanfm

Lệnh cuối cùng sẽ khởi chạy một file explorer trên môi trường desktop LXDE. Thay thế “pcmanfm” bằng tên của file explorer trong desktop cụ thể của bạn. Bây giờ, tất cả các hoạt động ổ đĩa bắt đầu ở đó sẽ được thực hiện với scheduling class I/O Idle.

Trong các tình huống khác, thao tác sao chép/di chuyển có thể đã hoạt động. Trong trường hợp này, bạn có thể sử dụng ionice theo một cách khác.

ionice -c 3 -p 4910

Điều này thay đổi class ưu tiên của chương trình đang chạy với ID tiến trình 4910. Bạn có thể tìm thấy PID (Process ID – ID tiến trình) với trình quản lý tác vụ của mình hoặc bằng một lệnh chẳng hạn như pgrep.

Những ví dụ ionice hữu ích

Lệnh ionice có thể hữu ích trên các desktop mà bạn không muốn bị lag trong khi sao chép/di chuyển các file lớn. Nhưng hãy nhớ rằng ionice cũng có thể hữu ích hơn nữa trên các máy chủ. Bạn chắc chắn không muốn một trang web mà mình host làm khách truy cập gặp phải hiện tượng lag, trong khi thực hiện sao lưu toàn bộ, đúng không?

Chúc bạn thực hiện thành công!

  • Cách ghi vào phân vùng Windows trong Linux
  • 4 trình quản lý download tốt nhất cho người dùng Linux
  • Cách sửa lỗi sử dụng bộ nhớ cao trên Linux
  • Cách thiết lập và liệt kê các biến môi trường trong Linux
  • Cách quản lý tiến trình đang chạy với Task Manager của XFCE
  • Cách sử dụng Topgrade để nâng cấp hệ thống Linux
Post Views: 196
Previous Post

4 nhà sản xuất phần cứng Linux uy tín dành cho người say mê mã nguồn mở

Next Post

Công cụ & phần mềm giám sát Linux tốt nhất

Related Posts

Quicktime Player Logo650 1
macOS

Cách ghép video trên macOS bằng QuickTime Player

26/12/2021
Kali Linux 2021 4 700 1
Linux

Kali Linux 2021.4: Thêm 9 công cụ mới và hỗ trợ tốt hơn cho Apple M1

26/12/2021
Openbsd La Gi 1
Linux

OpenBSD là gì? Đây là mọi thứ bạn cần biết về hệ điều hành này!

26/12/2021
Mac Os Xoa Ung Dung Cai Dat Logo640 1
macOS

Cách gỡ, xóa ứng dụng trên Mac OS

26/12/2021
Tim Thu Vien Anh Photos Library Tren May Mac700 1
macOS

Hướng dẫn tìm thư viện ảnh Photos Library trên máy Mac

26/12/2021
So Sanh Macbook Pro Macbook Air Va Ipad Pro 1
macOS

So sánh MacBook Pro 13 inch với MacBook Air và iPad Pro

26/12/2021
Next Post
Công Cụ & Phần Mềm Giám Sát Linux Tốt Nhất 6094edc49d864.jpeg

Công cụ & phần mềm giám sát Linux tốt nhất

Bài mới nhất

Hiệu ứng Chim Mồi Là Gì? Chiến Lược Hiệu ứng Chim Mồi Trong Kinh Doanh 612d1dab525a1.jpeg

Hiệu ứng chim mồi là gì? Chiến lược hiệu ứng chim mồi trong kinh doanh

14/06/2025
Mobile Commerce Là Gì? Sự Khác Nhau Giữa Mobile Commerce Và E Commerce 612d18ab96b63.jpeg

Mobile Commerce là gì? Sự khác nhau giữa Mobile Commerce và E-commerce

14/06/2025
Tawk.to Là Gì? Hướng Dẫn Cách Cài đặt Và Sử Dụng Tawk.to Hiệu Quả 612d1dba2478f.jpeg

Tawk.to là gì? Hướng dẫn cách cài đặt và sử dụng tawk.to hiệu quả

13/06/2025
Imc Là Gì? Lợi ích, Chiến Lược Triển Khai Marketing Truyền Thông Tích Hợp 612d1d9c495d7.jpeg

IMC là gì? Lợi ích, chiến lược triển khai Marketing truyền thông tích hợp

13/06/2025
Nhượng Quyền Thương Hiệu Là Gì Và Những Lưu ý Khi Mua Nhượng Quyền Thương Hiệu 612d17ba7733a.jpeg

Nhượng quyền thương hiệu là gì và những lưu ý khi mua nhượng quyền thương hiệu

12/06/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution