Tìm ra tổng bộ nhớ được phân bổ cho một quy trình cụ thể trong Ubuntu


15

Làm cách nào tôi có thể tìm ra tổng bộ nhớ được phân bổ cho một quy trình cụ thể trong Ubuntu?


1
Bạn đã thử ps -aefl và nhìn vào cột SZ chưa?
mdpc

2
Bạn có ý nghĩa gì khi tìm hiểu bộ nhớ được cấp phát? Bạn có muốn biết quá trình sử dụng bao nhiêu bộ nhớ?
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


14

Thử:

pidof bash | xargs ps -o rss,sz,vsz

Để tìm mức sử dụng bộ nhớ của trình bashbao hiện tại của bạn (giả sử bạn đang sử dụng bash). Thay đổi bashthành bất cứ điều gì bạn đang điều tra. Nếu bạn đang theo một quy trình cụ thể, chỉ cần sử dụng riêng nó:

ps -o rss,sz,vsz <process id>

Từ mantrang:

RSS: kích thước cài đặt thường trú, bộ nhớ vật lý không hoán đổi mà một tác vụ đã sử dụng (tính bằng kiloBytes).

SZ: kích thước trong các trang vật lý của hình ảnh cốt lõi của quá trình. Điều này bao gồm văn bản, dữ liệu và không gian ngăn xếp.

VSZ: kích thước bộ nhớ ảo của quá trình tính bằng KiB (đơn vị 1024 byte).

Các mantrang cho pssẽ liệt kê tất cả các đối số có thể vào -otùy chọn (có khá một vài để lựa chọn). Thay vì -o rss,szbạn có thể sử dụng vtùy chọn kiểu BSD (không có dấu gạch ngang) hiển thị bố cục bộ nhớ thay thế.


Cảm ơn gareth ... Bạn có nói rằng SZ là bộ nhớ được phân bổ cho quá trình đó không?
Anjali

4
Có một QA tốt ở đây giải thích mối quan hệ giữa RSS, SZVSZ.
garethTheRed


0

Làm thế nào để tìm ra tổng bộ nhớ được phân bổ cho một quy trình cụ thể trong Ubuntu?

Bạn không xác định bộ nhớ được phân bổ cho một quá trình là gì và thực sự đó là một câu hỏi khá phức tạp (về ánh xạ bộ nhớ dùng chung - xem mmap (2) để biết chi tiết; về bộ nhớ chia sẻ POSIX - xem shm_overview (7) để biết thêm ; những gì về một số trang trong bộ đệm trang được sử dụng cho các tệp đã mở; vv ...)

Bạn có thể sử dụng /proc/hệ thống tập tin (mà BTW được sử dụng bởi ps, pmap, top, htopvv ....). Đọc Proc (5) để biết thêm. Đặc biệt đối với quá trình pid 1234 bạn có thể sử dụng /proc/1234/status, /proc/1234/statm, /proc/1234/mapsvv ... Họ đều là giả file văn bản (giống như ống) mà bạn có thể nhìn thấy bằng cat(hoặc đọc tuần tự trong một số chương trình). BTW, từ bên trong một chương trình bạn có thể sử dụng/proc/self (đó là một liên kết giả), ví dụ như đọc tuần tự, /proc/self/statusv.v ...

Xem thêm LinuxAteMyRam .

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.