Làm cách nào để hiển thị kết quả `top` được sắp xếp theo mức sử dụng bộ nhớ trong thời gian thực?


375

Làm cách nào tôi có thể hiển thị topkết quả trong thiết bị đầu cuối của mình theo thời gian thực để danh sách được sắp xếp theo mức sử dụng bộ nhớ?


24
Trên Linux, ><di chuyển cột sắp xếp sang phải và trái. Vì %MEMcột ở bên phải của %CPUcột, cũng là cột sắp xếp mặc định, nên chỉ cần một lần nhấn phím để chuyển đổi giữa hai cột. Tôi biết, câu hỏi của bạn có thẻ macffy, đó là lý do tại sao tôi viết câu trả lời này dưới dạng nhận xét.
Walter Tross

5
Tôi thích htop, chủ yếu là vì nó cho tôi biết làm thế nào để làm điều này.
lindhe

Câu trả lời:


424

Sử dụng toplệnh trong Linux / Unix:

top
  • nhấn shift+ msau khi chạy toplệnh
  • hoặc bạn có thể tương tác chọn cột nào để sắp xếp
    • nhấn Shift+ fđể vào menu tương tác
    • nhấn uphoặc downmũi tên cho đến khi %MEMlựa chọn được tô sáng
    • nhấn sđể chọn %MEMlựa chọn
    • nhấn enterđể lưu lựa chọn của bạn
    • nhấn qđể thoát menu tương tác

Hoặc chỉ định thứ tự sắp xếp trên dòng lệnh

# on OS-X
top -o MEM
# other distros
top -o %MEM

Người giới thiệu

https://stackoverflow.com/questions/4802481/how-to-see-top- Processes-by-actual-memory-usage


2
Trên Linux, nó top -o %MEM(lưu ý "%")
Gabriel Hautclocq

@GabrielHautclocq Nó phải phụ thuộc vào phân phối Linux của bạn và gói đi kèm với nó. Debian 7 sử dụng procps-ngvà không có -otùy chọn nào trong phiên bản đó. SHIFT-Mlàm việc cho tôi một lần topđược đưa ra.
Christopher Schultz

top -o %MEMhoạt động trên debian 8 và 9 của tôi, nhưng không hoạt động trên debian 7, bạn đúng @Christopher Schultz.
Gabriel Hautclocq

thay vì <key> enter </ key>, nó phải là <key> q </ key>
bảnh bao

99

Tùy chọn dòng lệnh -o(o đứng cho "Override-sort-field") cũng hoạt động trên máy Xubfox của tôi và theo trang Mac của máy tính hàng đầu, nó cũng sẽ hoạt động trên Macintosh. Nếu tôi muốn sử dụng bộ nhớ ngắn, tôi thường sử dụng

top -o %MEM

mà sắp xếp theo cột %MEM. Nhưng tôi có thể sử dụng VIRT, REShoặc SHRquá. Trên Macintosh tôi có thể sẽ sử dụng memhoặc vsize.

Tôi không biết tại sao hay như thế nào nhưng điều này khá khác biệt giữa các hệ thống Unix và thậm chí giữa các bản phân phối Linux. Ví dụ, -othậm chí không có sẵn trên Raspberry của tôi chạy Wheezy. Nó có thể là giá trị cho nó một thử mặc dù.


2
Câu trả lời có thể giúp người dùng rõ ràng hơn: %MEMđược đưa ra như một câu trả lời cho người đọc háo hức; trong khi nó không hoạt động ở mọi nơi (cho đến nay).
7heo.tk

1
Đối với Macbook 2014, điều này có nghĩa là:top -o %MEM invalid argument -o: %MEM
anon58192932

Tôi rất tiếc khi nghe điều đó.
ytg

Đây là câu trả lời duy nhất thực sự làm việc trên centos cho tôi.
Amalgovinus

1
@ anon58192932 bạn nên thay thế %MEM(hoặc PID, VIRTv.v.) bằng bất kỳ tên cột nào bạn thấy khi topchỉ chạy . Theo ghi nhận của ytg , "trên Macintosh tôi có thể sẽ sử dụng memhoặc vsize".
ebosi

14

Có vẻ như cờ -o sẽ lấy tên cột thực tế. Vì vậy, nếu lệnh trên cùng chỉ hiển thị "mem" thì lệnh sẽ là "top -o mem " .

Đối với máy ubfox mà tôi đang thử nghiệm, cột được gọi là "% MEM" . Trên OSX Yosemite tôi đã thử, đó là "mem" .


13

Đối với Ubuntu 14.04 bắt đầu bằng

htop -s=MEM

đã lừa tôi


Hoạt động tốt cho OSX là tốt.
ehime

đó là lệnh khác nhau. Tìm kiếm câu trả lời về toplệnh (như được hỏi trong câu hỏi này) không htop.
Lukas

7

Nếu topđã chạy, nhấn o . Trên dữ liệu, một dấu nhắc sẽ xuất hiện:

primary key [xxxxx]:

Đâu xxxxxlà khóa sắp xếp hiện tại. Nhập tên của cột mà bạn muốn sắp xếp. Nếu tên cột chứa "%" hoặc "#", hãy bỏ qua ký tự. Đối với% CPU, chỉ cần gõ "cpu".


6

Câu hỏi ban đầu dường như là dành cho máy Mac, nhưng đối với bất kỳ ai khác tình cờ tìm thấy câu trả lời này, trên Red Hat Linux (và nhiều người khác), 'top -m' bắt đầu với kết quả được sắp xếp theo mức độ sử dụng bộ nhớ.


Không có trên Debian 8
marcovtwout

Hoạt động trên: Red Hat Enterprise Linux Server phát hành 6.8 (không có câu trả lời nào khác hoạt động).
Contango



2

Nếu bạn đang sử dụng topđi kèm với Ubuntu ( top -v= procps-ng version 3.3.10), thì bạn có thể sử dụng các phím tắt tương tác này để thay đổi cách sắp xếp. Lưu ý rằng đây là tất cả các chữ in hoa, vì vậy hoặc sử dụng shifthoặc caps lock.

M% MEM
NPID
P%
TTHỜI GIAN CPU +

Theo mặc định, chúng sẽ được sắp xếp theo thứ tự DESC. Sử dụng Rđể chuyển đổi ASC / DESC.

Để đặt sắp xếp từ tùy chọn dòng lệnh, sử dụng top -o %MEM. Bạn có thể chỉ định bất kỳ cột.

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.