Chúng ta có thể lấy cột cụ thể trong một lệnh hàng đầu không, ví dụ: tôi chỉ quan tâm đến việc sử dụng bộ nhớ và cột sử dụng CPU.
Làm cách nào để giảm các cột được hiển thị của lệnh trên xuống chỉ còn hai cột ở trên?
top -h
).
Chúng ta có thể lấy cột cụ thể trong một lệnh hàng đầu không, ví dụ: tôi chỉ quan tâm đến việc sử dụng bộ nhớ và cột sử dụng CPU.
Làm cách nào để giảm các cột được hiển thị của lệnh trên xuống chỉ còn hai cột ở trên?
top -h
).
Câu trả lời:
LƯU Ý: Giả sử bạn có phiên bản này top
(Procps) . Bạn có thể kiểm tra bằng lệnh này:
$ top --version
top: procps version 3.2.8
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
Procps thường là phiên bản đi top
kèm với Fedora / CentOS / RHEL và các biến thể khác.
Nếu bạn nhìn vào trang man, top
bạn sẽ thấy một phần có tiêu đề: "2b. Cột CHỌN VÀ ĐẶT HÀNG". Có các phím tắt để chuyển đổi mức độ hiển thị cho các trường / cột khác nhau.
Ví dụ:
f,o . Fields/Columns: 'f' add or remove; 'o' change display order
F or O . Select sort field
<,> . Move sort field: '<' next col left; '>' next col right
Bạn có thể sử dụng phím ftrong khi vào top
để đến màn hình phụ nơi bạn có thể chỉ định cột nào sẽ được bật hoặc không hiển thị:
Ví dụ:
Current Fields: ANOPQRSTUVbcdefgjlmyzWHIKX for window 3:Mem
Toggle fields via field letter, type any other key to return
* A: PID = Process Id * W: S = Process Status
* N: %MEM = Memory usage (RES) * H: PR = Priority
* O: VIRT = Virtual Image (kb) * I: NI = Nice value
* P: SWAP = Swapped size (kb) * K: %CPU = CPU usage
* Q: RES = Resident size (kb) * X: COMMAND = Command name/line
* R: CODE = Code size (kb)
...
Có nhiều hơn, đây chỉ là một mẫu. Khi bạn hoàn thành việc chuyển các cột theo cách bạn muốn, hãy sử dụng Escđể thoát khỏi màn hình lựa chọn.
Bạn có thể sử dụng dấu Shift+ Wđể lưu các thay đổi của mình để chúng là mặc định:
W Write configuration file
Các tập tin được lưu trữ ở đây $HOME/.toprc
, và trông như thế này:
$ more .toprc
RCfile for "top with windows" # shameless braggin'
Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=1.000, Curwin=2
Def fieldscur=AEHIoqTWKNMBcdfgjpLrsuvyzX
winflags=129016, sortindx=19, maxtasks=0
summclr=2, msgsclr=5, headclr=7, taskclr=7
Job fieldscur=ABcefgjlrstuvyzMKNHIWOPQDX
winflags=63416, sortindx=13, maxtasks=0
summclr=6, msgsclr=6, headclr=7, taskclr=6
Mem fieldscur=ANOPQRSTUVbcdefgjlmyzWHIKX
winflags=65464, sortindx=13, maxtasks=0
summclr=5, msgsclr=5, headclr=4, taskclr=5
Usr fieldscur=ABDECGfhijlopqrstuvyzMKNWX
winflags=65464, sortindx=12, maxtasks=0
summclr=3, msgsclr=3, headclr=2, taskclr=7
Xem phần 5 của trang man để biết thêm chi tiết, "5. PHIM".
[Centos-6 | Ubuntu 12.10] cmd này in 4 quy trình hàng đầu sắp xếp theo SỬ DỤNG CPU
top -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
Đầu ra
%CPU %MEM COMMAND
7.7 0.2 top
0.0 0.3 init
0.0 0.0 kthreadd
0.0 0.0 migration/0
Lưu ý: head -n 5 thay vì 4 vì chúng tôi cũng có tên cột
cột $ 9, $ 10, $ 12 có nghĩa là CPU, MEM, NHÀ. Sử dụng lệnh 'top' để lấy số cột
Sắp xếp theo SỬ DỤNG NHỚ ('trên cùng' của bạn phải hỗ trợ -m để chạy cái này)
# this work on my centos-6 machine, NOT work on my Ubuntu 12.10
top -m -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
để xem ở định dạng json và loại bỏ tiêu đề là tốt,
top -bn 1 | grep "^ " | awk '{ printf("%s%s%s\n","{CPU:"$9",","MEM:"$10",","CMD:"$12"}"); }' | head -n 6 | tail -n +2
đầu ra như dưới đây,
{CPU:6.4,MEM:0.3,CMD:gnome-terminal}
{CPU:6.4,MEM:1.9,CMD:chrome}
{CPU:0.0,MEM:0.0,CMD:init}
{CPU:0.0,MEM:0.0,CMD:kthreadd}
{CPU:0.0,MEM:0.0,CMD:ksoftirqd/0}
grep | awk | head | tail
có thể kết hợp thành một awk
.
Cấu hình dòng lệnh
Tôi không muốn ảnh hưởng đến toàn bộ người dùng của mình bằng cách ghi đè người dùng .toprc
, vì vậy tôi đã đưa ra một giải pháp để có cấu hình riêng cho mỗi trường hợp sử dụng.
Bạn có thể top
sử dụng tệp cấu hình tùy chỉnh thay vì tệp trong thư mục chính của người dùng.
Chỉ cần thay đổi HOME
biến thành một thư mục tùy chỉnh chứa .toprc
tệp cho nhu cầu của bạn.
# TOPRC_PROFILE_DIRECTORY contains .toprc (or can be created by saving using shift+w after configuring using keybindings)
TOPRC_PROFILE_DIRECTORY="<your-directory>"
HOME="$TOPRC_PROFILE_DIRECTORY" top
top
biến thiên? Có hàng tá triển khai hàng đầu.