Linux
2017.06.02 03:15
리눅스에서 top 명령어를 통한 CPU 점유율 확인 및 측정하기
조회 수 81015 추천 수 0 댓글 0
*top 명령어 : 리눅스 시스템의 운용상황을 실시간으로 전반적인 상황을 모니터링하거나 프로세스 관리를 할 수 있는 유틸리티이다.
top 사용법
1. 세부 정보 필드별 항목
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
* PID : 프로세스 ID (PID)
* USER : 프로세스를 실행시킨 사용자 ID
* PRI : 프로세스의 우선순위 (priority)
* NI : NICE 값. 일의 nice value값이다. 마이너스를 가지는 nice value는 우선순위가 높음.
* VIRT : 가상 메모리의 사용량(SWAP+RES)
* RES : 현재 페이지가 상주하고 있는 크기(Resident Size)
* SHR : 분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합.
* S : 프로세스의 상태 [ S(sleeping), R(running), W(swapped out process), Z(zombies) ]
* %CPU : 프로세스가 사용하는 CPU의 사용율
* %MEM : 프로세스가 사용하는 메모리의 사용율
* TIME+ : 프로세스 시작된 이후 경과된 총 시간
* COMMAND : 실행된 명령어
* Load average (로드 애버리지) : 세 개의 숫자는 각각 1분, 5분, 15분 간의 평균 실행/대기 중인 프로세스의 수를 나타냄.
uptime 명령어로도 확인할 수 있으며, 시스템 부하를 모니터링 할 수 있다. 숫자가 높을 수록 시스템에 부하가 있다는 것이다.
load average 값은 CPU의 코어 수를 같이 확인해야 하며, 코어 수 보다 적으면 문제가 없다.
2. top 실행 후 사용할 수 있는 옵션
* shift + t : 실행된 시간이 큰 순서로 정렬
* shift + m : 메모리 사용량이 큰 순서로 정렬
* shift + p : cpu 사용량이 큰 순서로 정렬
* k : Process 종료
o k 입력 후 종료할 PID를 입력한다
o signal을 입력하라 표시되면 9를 넣어준다
* c : 명령 인자 표시 / 비표시
* l(소 문자엘) : uptime line(첫번째 행)을 표시 / 비표시
* space bar : Refresh
* u : 입력한 유저 소유의 Process만 표시
o which user : 와 같이 유저를 입력하라 표시될때 User를 입력
o blank(공백) 입력시 모두 표시
* shift + b : 상단의 uptime 및 기타 정보값을 블락선택해 표시
* f : 화면에 표시될 프로세스 관련 항목 설정
* i : idle 또는 좀비 상태의 프로세스는 표시 되지 않음
* z : 출력 색상 변경
* d [sec] : 설정된 초단위로 Refresh
* c : command뒤에 인자값 표시
* q : 명령어 종료
3. top 실행 전 옵션 : top의 정보들을 서식으로 출력하기 위한 옵션
* -b : 배치모드 옵션
* -n : top 실행 주기를 설정
* -p : process ID
4. 운영 중 실시간 CPU 사용률 측정하는 방법
* top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.f%n", prefix, 100 - v }'
5. ps 와 top의 차이점
* ps는 ps한 시점에 proc에서 검색한 cpu 사용량이다.
* top은 proc에서 일정 주기로 합산해서 cpu 사용율을 출력한다.
-
리눅스에서 top 명령어를 통한 CPU 점유율 확인 및 측정하기
-
따라하면 쉬운 compactdb 사용법
-
동시 접속자에 따른 파라미터 설정
-
독자적 테이블 사용되는 복제 재구성
-
데이터베이스 생성하기
-
데이터 확인에 정규표현식을 사용 해 보자.
-
데이터 저장 구조와 테이블 재구성
-
대량의 데이터 입력 방법
-
다중컬럼 조건에 대한 인라인뷰 처리방안
-
가상머신 환경에서 리눅스 및 큐브리드 설치 가이드
-
windows 환경에서 여러버젼의 CUBRID 설치하여 사용하기
-
windows 상에서 PHP 설치하기
-
tomcat8.0(DBCP2)과 CUBRID 연동하기
-
select .. for update 처리를 위한 Stored Procudure 등록 및 사용법
-
python 에서 broker_log_top 사용
-
phpize를 이용한 PHP 모듈 연동 방법(CUBRID2008 R4.3 버전)
-
phpize 를 이용한 PHP 모듈 설치 - LINUX
-
log4jdbc를 사용한 JDBC 로그 분석
-
jsp용 jdbc 샘플입니다.
-
iBATIS framework with CUBRID