Làm thế nào để diễn giải sự xuất hiện hàng đầu của busybox?


8

Tôi đang sử dụng BusyBox trên một hệ thống ARM nhúng nhỏ. Tôi đang cố đọc đầu ra "trên cùng", đặc biệt cho quy trình Python được liệt kê. Bao nhiêu bộ nhớ thực là quá trình này sử dụng? Ngoài ra VSZ có nghĩa là gì? Hệ thống chỉ có 64MB RAM.

Mem: 41444K đã sử dụng, 20572K miễn phí, 0K shrd, 0K buff, bộ nhớ cache 18728K
CPU: 3% usr 3% sys 0% nic 92% nhàn rỗi 0% io 0% irq 0% sirq
Tải trung bình: 0,00 0,04 0,05 1/112 31667
  PID PPID USER STAT VSZ% VSZ% CPU
  777 775 python S 146m 241% 3% / usr / bin / python -u - dpdsrv.py

Câu trả lời:


4

VSZ(hoặc VIRT, tùy thuộc vào phiên bản top) là lượng bộ nhớ được ánh xạ vào không gian địa chỉ của quy trình. Nó bao gồm các trang được hỗ trợ bởi tệp thực thi và thư viện chia sẻ của quá trình, heap và stack của nó, cũng như mọi thứ khác mà nó đã ánh xạ.

Trong trường hợp đầu ra mẫu mà bạn hiển thị, kích thước ảo lớn hơn dung lượng bộ nhớ vật lý trên hệ thống, do đó, nhất thiết phải có một số (hầu hết!) Các trang trong không gian địa chỉ của quy trình không có mặt vật lý trong RAM. Đó không phải là vấn đề: nhiều chương trình chứa một lượng lớn mã và ánh xạ rất nhiều thư viện dùng chung nhưng chúng chỉ thực sự sử dụng một số phần nhất định của mã đó hoặc ít nhất chỉ sử dụng một số phần nhất định của mã, cho phép kernel bỏ các phần không được sử dụng từ bộ nhớ bất cứ khi nào chúng không được sử dụng hoặc thậm chí không bao giờ tải chúng ở vị trí đầu tiên.

Phiên bản của topbạn dường như không hiển thị một REScột, sẽ cho bạn biết bao nhiêu bộ nhớ trong không gian địa chỉ của quy trình hiện đang nằm trong RAM.

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.