5 Công cụ đầu cuối hữu ích để quản lý tốt hơn quy trình trong Linux
Linux cung cấp một số công cụ để kiểm tra các tiến trình đang chạy của bạn. Với các ứng dụng được hiển thị bên dưới, bạn có thể tìm ra ứng dụng nào đang ăn hết bộ nhớ của bạn và các tệp nào được đính kèm với các chương trình giả mạo đó. Hoặc bạn chỉ có thể có cái nhìn toàn cầu về cách hệ thống của bạn hoạt động như thế nào.
Bất kể mức độ quan tâm cụ thể của bạn, hướng dẫn này sẽ cung cấp cho bạn một điểm khởi đầu trên hành trình đó.
1. đầu
Có lẽ người quản lý dịch vụ / quy trình nổi tiếng nhất trong bộ công cụ Linux là hàng đầu. Tên của nó là một từ viết tắt của "Table of Processes." Phiên bản Linux (các phiên bản khác đã được viết cho Unix, Solaris, vv) được lưu trữ với gói procps, một tập hợp các tiện ích mà bạn có thể lấy tại liên kết ở trên.
Bạn có thể thấy trong ảnh chụp màn hình này mà đầu cung cấp rất nhiều thông tin cùng một lúc. Ở đầu màn hình, bạn có thể xem máy tính đã chạy bao lâu, mức sử dụng CPU hiện tại của nó và mức sử dụng bộ nhớ hiện tại. Những giá trị này liên quan đến toàn bộ hệ thống - không chỉ các chương trình riêng lẻ được hiển thị bên dưới văn bản đó.
Ngược lại, bạn có thể thấy từng CPU và bộ nhớ sử dụng cho các quy trình đang chạy khác nhau trong phần lớn màn hình. Ảnh chụp màn hình ở đây chỉ hiển thị các dịch vụ mà người dùng “root” đang chạy và “systemd” xuất hiện đầu tiên khi người dùng sử dụng bộ nhớ nhiều nhất chỉ ở mức 0.3%.
Bạn có thể chạy trên cùng trong dòng lệnh chỉ với top
để nhập một readout tương tác của tất cả các tiến trình đang chạy cho tất cả người dùng. Chạy top U user
sẽ nhập cùng một loại môi trường, nhưng nó sẽ hiển thị các quy trình cho người dùng cụ thể đó.
Bạn cũng có thể chọn ra một tiến trình đang chạy bằng cách chạy pidof process
đầu tiên để nhập đầu ra đó vào đầu với pidof process
top -p pid
. Ví dụ, pid firefox
trên máy này trả về "2886", do đó, chạy top -p 2886
chỉ hiển thị thông tin của quá trình trên màn hình của nó.
2. iotop
Một số tiện ích cố gắng giảm bớt những ưu đãi hàng đầu. Một chương trình như vậy, iotop, thực hiện chính xác điều đó. Đầu ra của nó, như bạn có thể thấy ở đây, đơn giản hơn nhiều so với nơi ẩn náu của hàng đầu.
Iotop cho thấy đầu vào / đầu ra của một tiến trình đang chạy. Ở phía trên cùng của màn hình, nó cho thấy đĩa đọc và ghi đĩa, tính bằng byte, trước khi tiết lộ ID của mỗi quá trình và cá nhân đọc, viết và I / O mà chúng đang tiêu thụ.
Bạn có thể, giống như trên cùng, chọn đầu ra của iotop bằng cách chỉ định các tham số như iotop -p pid
để theo dõi một quá trình đơn lẻ hoặc iotop -u user
để theo dõi các tiến trình đang chạy của một người dùng.
3. Monit
Ngay từ đầu, Monit cố gắng cụ thể hơn nhưng vẫn dễ sử dụng. Nó chạy như một daemon và sẽ làm theo các quy trình và dịch vụ mà bạn chỉ định trong tập tin cấu hình của nó.
Bắt đầu từ deamon từ dòng lệnh không giống như nhiều.
Để tận dụng tối đa khả năng của Monit, bạn nên bật Monit để chạy từ khi khởi động. Sử dụng systemd, systemctl enable monit
sẽ hoàn thành nhiệm vụ đó.
Sau đó, bạn có thể chỉnh sửa tập tin cấu hình của Monit (nằm tại "/ etc / monitrc") để theo dõi và sửa đổi các quy trình cụ thể từ lần thứ hai chúng bắt đầu chạy. Hãy xem tùy chọn này trong tệp cấu hình bên dưới.
Mặc dù các dòng được nhận xét, bạn có thể thấy rằng chuỗi lệnh này sẽ tuân theo quy trình Apache, hãy bắt đầu hoặc dừng nó nếu cần thiết và tạo cảnh báo khi có sự cố. Tệp cấu hình có nghĩa là dễ đọc và chỉnh sửa; nó sử dụng các từ khóa như "bắt đầu", "nếu", "sau đó" và "bên trong" để hoàn thành các tác vụ.
Tags : GREP trong Linux là gì và bạn sử dụng nó như thế nào?
4. lsof
Nếu bạn tò mò về những tệp mà một quá trình đã mở khi nó đang chạy, hãy sử dụng lsof. Việc chạy lệnh lsof
sẽ, theo mặc định, liệt kê mọi tệp được mở bởi mọi tiến trình đang chạy trên hệ thống. Do đó, nó có thể hữu ích để cụ thể hơn với truy vấn của bạn.
Bạn có thể đào sâu vào tên cụ thể của một tiến trình đang chạy, chẳng hạn như Firefox, bằng cách đưa đầu ra của lsof vào grep
, nó sẽ tìm kiếm một chuỗi bạn chỉ định.
Vì vậy, nếu bạn muốn tìm hiểu xem Firefox có đang chạy thư viện âm thanh FLAC hay không, một lệnh như sau sẽ hữu ích:
lsof | grep firefox | grep -i libflac
Nó làm giảm đầu ra từ hàng ngàn dòng đến khoảng hai mươi.
Một phiên bản của lệnh đó tạo ra những điều sau đây.
Những gì bạn có thể sao chép ở đây là lần đầu tiên chạy lsof, sau đó tìm kiếm "firefox" như một chuỗi trong đầu ra của lsof, sau đó tìm kiếm thông qua các dòng có "firefox" trong chúng cho chuỗi "libflac". Grep sử dụng cờ -i
trong đó lệnh để bỏ qua các chữ hoa và chữ thường trong tìm kiếm của nó.
Lệnh grep -i gdbus
cuối cùng được sử dụng ở đây để cung cấp một ví dụ một dòng. Nó tự ý chọn ra một dòng đầu ra cho thấy "gdbus" như lệnh nhiệm vụ lsof được xác định.
Lsof hiển thị lệnh kết hợp với một tiến trình đang chạy, ID tiến trình của nó, lệnh tác vụ được liên kết với tệp mà tiến trình chạy và tên của tệp được đính kèm với tiến trình đang chạy, ngoài một số dữ liệu khác.
5. ps_mem
Ứng dụng đơn giản nhất trong danh sách này, ps_mem, liệt kê việc sử dụng bộ nhớ của các tiến trình đang chạy trên một hệ thống. Một sự chạy khô của ps_mem
trong dòng lệnh sẽ tiết lộ một danh sách tất cả các tiến trình đang chạy và mức tiêu thụ bộ nhớ riêng của chúng.
Để điều tra một quá trình cụ thể, bạn có thể liệt kê ID của nó - hãy nhớ sử dụng pidof process
để lấy thông tin đó - trong lệnh ps_mem -p process
. Kiểm tra đầu ra này để tham khảo:
Ps_mem rất hữu ích nếu bạn có một chương trình mà bạn cho là đang sử dụng quá nhiều bộ nhớ. Bạn có thể sử dụng nó như một công cụ độc lập hoặc song song với các công cụ khác để xác minh những phát hiện của họ.
Phần kết luận
Đừng để các ứng dụng trên máy tính của bạn chạy lạc lối. Giữ chúng trong kiểm tra với một cái nhìn nhanh chóng ở đầu, iotop, hoặc ps_mem, và điều tra thêm với Monit và lsof.
Đây là những công cụ mạnh mẽ có nhiều tùy chọn hơn có sẵn trong trang con người của họ, vì vậy hãy chắc chắn cũng đọc tài liệu của họ khi điều tra một vấn đề phiền hà.
Hình ảnh tín dụng: Xfce để giải cứu!