top의 결과로 출력되는 필드(Field)를 추가 또는 제거하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,351 조회
- 0 추천
- 목록
본문
top의 결과로 출력되는 필드(Field)를 추가 또는 제거하기
시스템 모니터링 툴인 top을 실행한 후에 그 결과화면을 확인해 보시면 시스템에 관한 여러 가지 정보들과 함께 실행중인 프로세스들을 보실 수 있습니다.
즉, top의 실행결과 프로세스에 관련된 기본정보는 아래와 같이 12가지 필드입니다.
.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
(위의 각 필드들에 대한 정보들은 앞의 예에서 모두 설명하였으므로 위의 각 필드에 대한 자세한 설명은 앞의 설명을 참조 바랍니다.
)
흔히 우리들은 top명령의 결과로 확인 가능한 프로세스의 필드들은 위의 필드뿐이라고 생각합니다.
하지만 현재 실행중인 프로세스에 대한 필드들은 모두 26가지가 있습니다.
26가지의 프로세스관련 필드정보들 가운데 top의 기본결과로 보여주는 프로세스 기본필드가 위와 같이 12가지입니다.
즉, top의 결과로 확인할 수 있는 프로세스 필드정보의 나머지 14가지는 옵션에서 선택적으로 확인할 수 있다는 의미가 됩니다.
또한 현재 보여지고 있는 프로세스의 12가지 필드들도 기본화면에서 감출 수 있으며 보이지 않던 필드들도 보이게 설정할 수도 있습니다.
아래의 예는 프로세스들에 대한 26가지 필드들 중에 어떤 필드를 top화면에서 보이도록 할 것인가를 편집하기 위하여 top을 실행한 화면에서 f를 입력한 것입니다.
즉, top을 실행한 기본화면에서 f를 입력하면 다음과 같이 프로세스들의 필드들을 편집할 수 있는 화면이 나옵니다.
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def Toggle fields via field letter, type any other key to return
* A: PID = Process Id * E: USER = User Name * H: PR = Priority * I: NI = Nice value * O: VIRT = Virtual Image (kb) * Q: RES = Resident size (kb) * T: SHR = Shared Mem size (kb) * W: S = Process Status * K: %CPU = CPU usage * N: %MEM = Memory usage (RES) * M: TIME+ = CPU Time, hundredths b: PPID = Parent Process Pid c: RUSER = Real user name d: UID = User Id f: GROUP = Group Name g: TTY = Controlling Tty j: P = Last used cpu (SMP) p: SWAP = Swapped size (kb) l: TIME = CPU Time r: CODE = Code size (kb) s: DATA = Data+Stack size (kb) u: nFLT = Page Fault count v: nDRT = Dirty Pages count y: WCHAN = Sleeping in Function z: Flags = Task Flags <sched.h> * X: COMMAND = Command name/line |
여기서 편집하는 방법을 정확하게 알고 계셔야 합니다.
처음 보면 어렵게 느끼시겠지만 한번만 해보시면 간단하다는 것을 알 수 있을 것입니다.
즉, 위의 A부터 X까지의 각 항목은 top화면에서 보여질 수 있는 프로세스의 필드항목들 입니다.
그리고 이들 항목들 가운데 *표시가 된 항목만 현재 top화면에서 보여주는 것입니다.
이 부분을 정확하게 이해하시기 바랍니다.
결론적으로 위의 26가지 프로세스 필드항목들 가운데 top화면에서 보여질 항목들에 *를 표시하면 된다는 것을 의미합니다.
이들 항목들에 *표시하는 방법은 다음과 같습니다.
- 항목의 앞에 있는 영문자들이 각 항목에 *표를 하는 문자들입니다.
- 각 항목의 앞에 있는 문자들은 토글(toggle)로 *를 나타내거나 제거할 수 있습니다.
.
- 이렇게 top결과화면에 나타내고자 하는 항목에 *표를 하시면 됩니다.
위의 화면에서는 필자는 다음과 같은 항목에 있는 *표를 제거하였습니다.
- q를 눌러서RES 필드에서 *표시를 제거
- t를 눌러서 SHR필드에서 *표시를 제거
또한 필자는 아래의 필드들에 *표시를 추가하였습니다.
- p를 눌러서 SWAP 필드에 *표시를 함.
- r를 눌러서 CODE필드에 *표시를 함.
Current Fields: AEHIOqtWKNMbcdfgjPlRsuvyzX for window 1:Def Toggle fields via field letter, type any other key to return
* A: PID = Process Id * E: USER = User Name * H: PR = Priority * I: NI = Nice value * O: VIRT = Virtual Image (kb) q: RES = Resident size (kb)
t: SHR = Shared Mem size (kb)
* W: S = Process Status * K: %CPU = CPU usage * N: %MEM = Memory usage (RES) * M: TIME+ = CPU Time, hundredths b: PPID = Parent Process Pid c: RUSER = Real user name d: UID = User Id f: GROUP = Group Name g: TTY = Controlling Tty j: P = Last used cpu (SMP) * P: SWAP = Swapped size (kb)
l: TIME = CPU Time * R: CODE = Code size (kb)
s: DATA = Data+Stack size (kb) u: nFLT = Page Fault count v: nDRT = Dirty Pages count y: WCHAN = Sleeping in Function z: Flags = Task Flags <sched.h> * X: COMMAND = Command name/line |
즉, 필자는 이와 같이 r개의 항목에서 *를 제거하고 2개의 항목에 *를 표시하였습니다.
결론적으로 top의 실행으로 확인할 수 있는 프로세스의 기본정보에서 위의 2개항목이 빠지고 추가한 2개의 항목이 새로 보여질 것입니다.
그 결과가 아래에 있습니다.
top - 01:53:13 up 7:07, 3 users, load average: 0.00, 0.00, 0.09 Tasks: 105 total, 2 running, 103 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1033816k total, 1015840k used, 17976k free, 52892k buffers Swap: 2096472k total, 68k used, 2096404k free, 836744k cached
PID USER PR NI VIRT S %CPU %MEM TIME+ SWAP CODE COMMAND 1728 root 20 0 3628 S 0.0 0.1 0:07.93 2704 20 hald-addon-stor 150 root 15 -5 0 S 0.0 0.0 0:06.24 0 0 ata/0 1906 root 20 0 9980 S 0.0 0.1 0:03.45 9064 20 kerneloops 1767 root 20 0 62468 S 0.0 2.8 0:04.33 32m 4 setroubleshootd 2146 gdm 20 0 49400 S 0.0 1.5 0:02.65 32m 256 gdm-simple-gree 2619 root 20 0 2428 R 0.0 0.1 0:00.05 1376 60 top 6 root 15 -5 0 S 0.0 0.0 0:00.62 0 0 events/0 |
위의 화면과 top의 기본화면을 잘 비교해 보시기 바랍니다.
즉, top의 기본결과 화면에서 볼 수 있었던 RES, SHR필드는 보이지 않고 top의 기본결과 화면에서 볼 수 없었던 SWAP필드와 CODE필드가 보여지고 있다는 것을 꼭 확인하시기 바랍니다.
관련자료
-
이전
-
다음