답변:
참고 : 이 버전의 top
(procps) 가 있다고 가정합니다 . 이 명령으로 확인할 수 있습니다 :
$ top --version
top: procps version 3.2.8
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
procps는 종종 top
Fedora / CentOS / RHEL 및 기타 변형 에 포함 된 버전입니다 .
매뉴얼 페이지에서 top
"2b. SELECTING and ORDERING Columns"섹션이 표시됩니다. 다른 필드 / 열에 대한 가시성을 토글하기위한 키보드 단축키가 있습니다.
예를 들면 다음과 같습니다.
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
어떤 키 f를 top
표시하거나 숨길 지 지정할 수있는 보조 화면으로 이동하기 위해 키 를 사용할 수 있습니다 .
예를 들면 다음과 같습니다.
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)
...
더 많은 것이 있습니다. 이들은 단지 샘플 일뿐입니다. 원하는 방식으로 열을 전환 한 후을 사용 Esc하여 선택 화면에서 나오십시오.
당신이 사용할 수있는 Shift+를 W가 기본값있어 귀하의 변경 사항을 저장합니다 :
W Write configuration file
파일은 여기에 저장 $HOME/.toprc
되며 다음과 같습니다.
$ 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
자세한 내용은 "5. 파일"매뉴얼 페이지의 섹션 5를 참조하십시오.
[센 토스 -6 | 우분투 12.10]이 cmd print 4 개의 상위 프로세스는 CPU 사용량별로 정렬됩니다.
top -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
산출
%CPU %MEM COMMAND
7.7 0.2 top
0.0 0.3 init
0.0 0.0 kthreadd
0.0 0.0 migration/0
참고 : 열 이름도 있기 때문에 4 대신 head -n 5
열 $ 9, $ 10, $ 12는 CPU, MEM, COMMAND를 의미합니다. 'top'명령을 사용하여 열 번호를 가져옵니다.
MEMORY USAGE로 정렬 (이를 실행하려면 'top'이 -m을 지원해야 함)
# 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
json 형식으로보고 헤더를 제거하기 위해
top -bn 1 | grep "^ " | awk '{ printf("%s%s%s\n","{CPU:"$9",","MEM:"$10",","CMD:"$12"}"); }' | head -n 6 | tail -n +2
아래와 같이 출력
{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
은 하나에 통합 될 수 있습니다 awk
.
커맨드 라인 구성
사용자를 덮어 써서 전체 사용자에게 영향을 미치지 않기를 원 .toprc
하므로 사용 사례마다 별도의 구성을 갖는 솔루션을 생각해 냈습니다. 사용자 홈 디렉토리에있는 파일 대신 사용자 정의 구성 파일
을 top
사용할 수 있습니다 . 변수를 필요에 따라 파일이 포함 된 사용자 정의 디렉토리로
변경하십시오 .HOME
.toprc
# 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
변형? 수십 가지의 최고 구현이 있습니다.