ý nghĩa đầu ra ps


226

Khi gõ ps aux, mỗi cột của đầu ra có ý nghĩa gì? Ví dụ

$ ps aux  
timothy  29217  0.0  0.0 11916 4560 pts/21   S+   08:15   0:00 pine  
root     29505  0.0  0.0 38196 2728 ?        Ss   Mar07   0:00 sshd: can [priv]   
can      29529  0.0  0.0 38332 1904 ?        S    Mar07   0:00 sshd: can@notty   

Cảm ơn và trân trọng!

Câu trả lời:


275
$ ps aux  
USER       PID  %CPU %MEM  VSZ RSS     TTY   STAT START   TIME COMMAND
timothy  29217  0.0  0.0 11916 4560 pts/21   S+   08:15   0:00 pine  
root     29505  0.0  0.0 38196 2728 ?        Ss   Mar07   0:00 sshd: can [priv]   
can      29529  0.0  0.0 38332 1904 ?        S    Mar07   0:00 sshd: can@notty  
  • USER = người dùng sở hữu quy trình
  • PID = ID tiến trình của quá trình
  • % CPU = Đó là thời gian CPU được sử dụng chia cho thời gian quá trình đang chạy.
  • % MEM = tỷ lệ kích thước cài đặt thường trú của quy trình với bộ nhớ vật lý trên máy
  • VSZ = sử dụng bộ nhớ ảo của toàn bộ quá trình (tính bằng KiB)
  • RSS = kích thước cài đặt thường trú, bộ nhớ vật lý không hoán đổi mà tác vụ đã sử dụng (trong KiB)
  • TTY = kiểm soát tty (thiết bị đầu cuối)
  • STAT = trạng thái quá trình đa ký tự
  • BẮT ĐẦU = thời gian bắt đầu hoặc ngày của quá trình
  • TIME = thời gian CPU tích lũy
  • COMMAND = lệnh với tất cả các đối số của nó

Xem trang người đàn ông ps để biết thêm.


26
Bạn có thể thêm ví dụ: VSZ và RSS là đầu ra trong KiB, không phải byte như tôi nghĩ đầu tiên ...
Christian Davén

Bạn có thể nói thêm một chút về sự khác biệt giữa VSZ và RSS không? Cảm ơn.
Qian Chen

3
RSS là dung lượng bộ nhớ vật lý mà quá trình này đang sử dụng. Lưu ý rằng điều này bao gồm bất kỳ bộ nhớ nào được chia sẻ với các quy trình khác (ví dụ: nếu các quy trình khác được tải từ cùng thư viện hoặc thư viện) để nó có thể báo cáo quá mức sử dụng bộ nhớ. VSZ là kích thước của không gian bộ nhớ ảo - đừng bị đánh lừa bởi điều này vì nó không phải là tất cả bộ nhớ "đã sử dụng". Nó bao gồm bộ nhớ đang sử dụng (RSS), bộ nhớ bị tráo đổi, nhưng thông thường phần lớn chỉ là không gian địa chỉ bổ sung mà thực sự không có bộ nhớ thực nào được phân bổ cho nó - để sử dụng không gian đó, cần phải có thêm bộ nhớ quá trình.
thomasrutter

2
Tôi đã cố gắng nghĩ về một sự tương tự. Giả sử bạn đang ăn tối nên bạn đang chia sẻ nguồn cung cấp thực phẩm hạn chế với người khác. RSS là lượng thức ăn hiện tại trên đĩa của bạn. VSZ là kích thước của tấm của bạn. Không phải tất cả các đĩa của bạn là thực phẩm và nó không liên quan đến số lượng thực phẩm bạn đã yêu cầu.
thomasrutter

41

Ngoài ra điều này có thể hữu ích:

Xử lý mã trạng thái:

  • R chạy hoặc chạy (trên hàng đợi chạy)
  • D giấc ngủ không bị gián đoạn (thường là IO)
  • S giấc ngủ bị gián đoạn (chờ đợi một sự kiện hoàn thành)
  • Z không còn tồn tại / zombie, bị chấm dứt nhưng không được gặt hái bởi cha mẹ của nó
  • T dừng lại, bởi tín hiệu kiểm soát công việc hoặc bởi vì nó đang được truy tìm

Một số sửa đổi bổ sung:

  • < mức độ ưu tiên cao (không tốt cho người dùng khác)
  • N mức độ ưu tiên thấp (tốt cho người dùng khác)
  • L có các trang bị khóa trong bộ nhớ (đối với IO thời gian thực và tùy chỉnh)
  • s là người lãnh đạo phiên
  • l là đa luồng (sử dụng CLONE_THREAD, giống như pthreads của NPTL)
  • + nằm trong nhóm quy trình tiền cảnh

24

Trong Linux lệnh:

ps -aux

Có nghĩa là hiển thị tất cả các quy trình cho tất cả người dùng. Bạn có thể tự hỏi x có nghĩa là gì? X là một công cụ xác định có nghĩa là 'bất kỳ người dùng nào'. Vì vậy, bạn có thể gõ này:

ps -auroot

Hiển thị tất cả các tiến trình gốc, hoặc

ps -auel

trong đó hiển thị tất cả các quy trình từ người dùng el. Công nghệ trong trang 'man ps' là: "ps -aux in tất cả các quy trình thuộc sở hữu của người dùng có tên 'x' cũng như in tất cả các quy trình sẽ được chọn bởi tùy chọn -a.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.