차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:top [2014/03/19 02:37] – 바깥 편집 127.0.0.1tech:top [2017/11/27 18:49] (현재) V_L
줄 1: 줄 1:
 +{{tag>top linux 우분투 모니터링 관리 서버}}
 ======Linux top 명령어 사용방법====== ======Linux top 명령어 사용방법======
  
- +top이라고 친 후 h라고 입력 하면 도움말이 나다. 거기에서 보고싶은 걸 입력하면 다.
- +
-top이라고 친 후 h라고 입력 하면 도움말이 나옵니다. 거기에서 보고싶은 걸 입력하면 됩니다.+
  
 =====설명===== =====설명=====
줄 23: 줄 22:
   top - 11:35:19 up 44 days,  5:09,  5 users,  load average: 0.03, 0.05, 0.05   top - 11:35:19 up 44 days,  5:09,  5 users,  load average: 0.03, 0.05, 0.05
  
- *  현재시간(11:35:19 )과 uptime 값(up 44 day)를 알수 있으며, 현재 로그인 된 사용자의 수(5 users)와 시스템의 최근 1분, 5분, 15분에 대한 각각의 평균 부하율(load average: 0.03, 0.05, 0.05)를 나타냄 +  *  현재시간(11:35:19 )과 uptime 값(up 44 day)를 알수 있으며, 현재 로그인 된 사용자의 수(5 users)와 시스템의 최근 1분, 5분, 15분에 대한 각각의 평균 부하율(load average: 0.03, 0.05, 0.05)를 나타냄
- +
-   Load average: 작업의 대기시간을 말한다. 값이 1이 나왔다면 1분 동안 평균 1개 정도의 프로세서가 대기상태에 있다는 것이다. +
  
 +  *   Load average: 작업의 대기시간을 말한다. 값이 1이 나왔다면 1분 동안 평균 1개 정도의 프로세서가 사용상태에 있다는 것이다. 보통 0.75 정도를 적정값으로 본다.
 +    * 만약 5라면, cpu는 풀가동중이고 아직 할일이 4만큼 밀려있다는 뜻이다.
 +    * 멀티코어인 경우 개수만큼 한계치가 증가한다. 쿼드코어라면 수치가 4일때 네개의 코어가 풀가동 중인 것이다. 
  
 ==== 2행==== ==== 2행====
줄 41: 줄 41:
    Cpu(s):  1.2% us,  0.1% sy,  0.0% ni, 96.7% id,  1.9% wa,  0.0% hi,  0.0% si    Cpu(s):  1.2% us,  0.1% sy,  0.0% ni, 96.7% id,  1.9% wa,  0.0% hi,  0.0% si
  
- * 사용자가 사용중인 CPU의 사용율(1.2% us), 시스템이 사용하는 CPU의 사용율(0.1% sy), NICE 정책에 의해 사용되는 CPU의 사용율( 0.0% ni), 사용되지 않는 CPU의 미사용율(96.7% id), 입출력 대기상태의 사용율(1.9% wa)등의 상황에 대해 알려줌+  * 사용자가 사용중인 CPU의 사용율(1.2% us), 시스템이 사용하는 CPU의 사용율(0.1% sy), NICE 정책에 의해 사용되는 CPU의 사용율( 0.0% ni), 사용되지 않는 CPU의 미사용율(96.7% id), 입출력 대기상태의 사용율(1.9% wa)등의 상황에 대해 알려줌
  
 ====4행==== ====4행====
줄 48: 줄 48:
   Mem:   2070100k total,  1748748k used,   321352k free,   233704k buffers   Mem:   2070100k total,  1748748k used,   321352k free,   233704k buffers
  
- *  전체 물리적인 메모리(2070100k total), 사용중인 메모리(1748748k used), 사용되지 않는 여유 메모리(321352k free), 버퍼된 메모리의 양(233704k buffers)등의 상황에 대해 알려줌+  *  전체 물리적인 메모리(2070100k total), 사용중인 메모리(1748748k used), 사용되지 않는 여유 메모리(321352k free), 버퍼된 메모리의 양(233704k buffers)등의 상황에 대해 알려줌
  
 ====마지막행==== ====마지막행====
줄 56: 줄 56:
   Swap:  2096472k total,      236k used,  2096236k free,   642728k cached   Swap:  2096472k total,      236k used,  2096236k free,   642728k cached
  
- *  전체 스왑 메모리(2096472k total), 사용중인 스왑 메모리( 236k used), 남아있는 스왑메모리(2096236k free), 캐싱메모리(642728k cached)등의 상황에 대해 알려줌 +  *  전체 스왑 메모리(2096472k total), 사용중인 스왑 메모리( 236k used), 남아있는 스왑메모리(2096236k free), 캐싱메모리(642728k cached)등의 상황에 대해 알려줌
  
 ====세부 정보 필드별 항목==== ====세부 정보 필드별 항목====
줄 74: 줄 73:
   * COMMAND : 실행된 명령어   * COMMAND : 실행된 명령어
   * RES : 현재 페이지가 상주하고 있는 크기(Resident Size)   * RES : 현재 페이지가 상주하고 있는 크기(Resident Size)
- 
  
 =====CPU 과부하?===== =====CPU 과부하?=====
-원인을 아는 것은 매우 어렵다. 씨피유의 과부하는 실제로 메모리 문제들과 I/O 문제들 사이의 틈에 끼워져 있다. +원인을 아는 것은 매우 어렵다. 씨피유의 과부하는 실제로 메모리 문제들과 I/O 문제들 사이의 틈에 끼워져 있다.
  
 CPU과부하 여부를 확인하는 방법 CPU과부하 여부를 확인하는 방법
  
   * Uptime을 사용해 로드 평균값을 확인해 증가 하는지 혹은 감소 하는지 본다. 통상 시스템의 CPU개수에 1를 곱한 값을 로드 평균의 적정 수준으로 보기 때문에 해당 시스템의 CPU개수에 따라 적절한 로드 평균값은 달라질 수 있다.   * Uptime을 사용해 로드 평균값을 확인해 증가 하는지 혹은 감소 하는지 본다. 통상 시스템의 CPU개수에 1를 곱한 값을 로드 평균의 적정 수준으로 보기 때문에 해당 시스템의 CPU개수에 따라 적절한 로드 평균값은 달라질 수 있다.
-*디스크 접근이나 페이징을 위해 대기하고 있는 프로세스가 있나? +     디스크 접근이나 페이징을 위해 대기하고 있는 프로세스가 있나? 
-***그럼 프로세스가 있다면 I/O와 메모리 서브 시스템을 검사한다.+    * 그럼 프로세스가 있다면 I/O와 메모리 서브 시스템을 검사한다.
   * CPU의 대부분을 사용하고 있는 프로세스는 무엇인가?   * CPU의 대부분을 사용하고 있는 프로세스는 무엇인가?
-**CPU를 많이 사용하고 있는 프로세스들을 적절히 재배치 해 워크 로드를 보다 좋게 분산 시키도록 도와 준다. +      * CPU를 많이 사용하고 있는 프로세스들을 적절히 재배치 해 워크 로드를 보다 좋게 분산 시키도록 도와 준다. 
-  * 시스템 스테이트에서 CPU의 대부분 50% 이상의 시간을 소비 하고 있는가? +      * 시스템 스테이트에서 CPU의 대부분 50% 이상의 시간을 소비 하고 있는가? 
-** 그렇다면 I/O를 의심해 볼 필요가 있다. 소스 코드를 액세스 할 때 애플리케이션이 I/O를 효과적으로 사용하고 있는지 검사한다.+      * 그렇다면 I/O를 의심해 볼 필요가 있다. 소스 코드를 액세스 할 때 애플리케이션이 I/O를 효과적으로 사용하고 있는지 검사한다.
   *  CPU로드가 높은데도 불구하고 IDLE 스테이트에서 CPU를 많이 10% 이상 사용하고 있는가?   *  CPU로드가 높은데도 불구하고 IDLE 스테이트에서 CPU를 많이 10% 이상 사용하고 있는가?
-**그렇다면 I/O나 메모리에 의심+    * 그렇다면 I/O나 메모리에 의심
   * CPU IDLE시간이 끊임 없이 0인가?   * CPU IDLE시간이 끊임 없이 0인가?
-** CPU가 활동량이 많은 것은 시스템을 잘 사용하고 있는 것이지만 항상 100% 사용하고 있다면 일은 어떤 곳에서 계속 쌓인다는 것이다. 즉, CPU 오버로드 발생하고 있다는 것이다. +  * CPU가 활동량이 많은 것은 시스템을 잘 사용하고 있는 것이지만 항상 100% 사용하고 있다면 일은 어떤 곳에서 계속 쌓인다는 것이다. 즉, CPU 오버로드 발생하고 있다는 것이다.
  
 ====처방==== ====처방====
줄 99: 줄 96:
   * CPU에 의존적인 일의 우선순위를 낮추는데 [[nice]]를 사용함으로써 인터랙티브 퍼포먼스를 향상시킬 수 있다. 여기서 CPU내에 의존적인 일의 우선순위를 높이는데 [[nice]]를 사용함으로써 그 일은 성능을 향상시키겠지만 인터랙티브 퍼포먼스는 해치게 된다. Nice를 사용하는 것은 임시 방편적인 방법으로만 써야 한다. 만약 시스템의 워크로드가 증가하게 된다면 이런 방법으로는 충분하지 않으며, 시스템을 업그레이드 하든지 교체 혹은 다름 시스템을 구입해 로드를 공유, 분산해야 한다.   * CPU에 의존적인 일의 우선순위를 낮추는데 [[nice]]를 사용함으로써 인터랙티브 퍼포먼스를 향상시킬 수 있다. 여기서 CPU내에 의존적인 일의 우선순위를 높이는데 [[nice]]를 사용함으로써 그 일은 성능을 향상시키겠지만 인터랙티브 퍼포먼스는 해치게 된다. Nice를 사용하는 것은 임시 방편적인 방법으로만 써야 한다. 만약 시스템의 워크로드가 증가하게 된다면 이런 방법으로는 충분하지 않으며, 시스템을 업그레이드 하든지 교체 혹은 다름 시스템을 구입해 로드를 공유, 분산해야 한다.
  
 +^  누구나 수정할 수 있다. [[http://openwiki.kr/syntax|위키 사용법]] 참고하라.
  
- 
-^  누구나 수정하실 수 있습니다. [[http://vaslor.net/syntax|위키 사용법]] 참고하세요.  ^ 
- 
-{{tag>top linux 우분투 모니터링 관리 서버}}