저는 ARM 기반 프로세서(OS 버전: Linux 3.4.35)에서 작업 중이며 일부 프로세스가 실행되는 동안 프로세서 성능을 분석해야 합니다. top 명령을 입력하면 일부 통계를 볼 수 있지만 이해가 되지 않습니다. 어떤 세부정보가 있고, 어떤 정보를 찾아야 합니까?
제가 알아야 할 세부 사항은 다음과 같습니다(CPU usr과 CPU sys의 차이점, nic, 유휴, io irq 및 Sirq는 무엇이며 캐시 RAM을 지우는 방법).
Mem: 32184K used, 648K free, 0K shrd, 676K buff, 7536K cached
CPU: 11.7% usr 29.4% sys 0.0% nic 41.1% idle 11.7% io 0.0% irq 5.8% sirq
답변1
특정 Linux/Bash 명령 학습을 시작하는 가장 좋은 장소는 해당 명령에 대한 맨페이지나 맨페이지를 참조하는 것입니다.
이것은 링크입니다top
맨페이지 로 이동합니다 . 셸에서는 간단히 실행하여 맨페이지를 읽을 수 있습니다 man top
. 링크도 추가하겠습니다블로그설명하다 top
.
질문의 관련 부분은 섹션에서 찾을 수 있습니다.2b. 태스크 및 CPU 상태맨페이지에서:
기본적으로 이러한 개별 범주에 대한 백분율이 표시됩니다. 아래에는 두 개의 탭이 표시되어 있으며 최신 커널 버전에 대한 탭이 먼저 표시되어 있습니다.
us, user : time running un-niced user processes sy, system : time running kernel processes ni, nice : time running niced user processes id, idle : time spent in the kernel idle handler wa, IO-wait : time waiting for I/O completion hi : time spent servicing hardware interrupts si : time spent servicing software interrupts
us
그리고 ni
각각 최적화되지 않은 프로세스와 최적화된 프로세스에 소비된 CPU 사용량의 비율입니다. 좋은 값은 더 중요한 커널이나 시스템 프로세스와 협력하거나 방해가 되지 않도록 우선 순위 값을 부여받을 수 있기 때문에 좋거나 나쁜 사용자 공간 프로세스입니다.다음은 매우 간단한 설명에 대한 링크입니다.친절하고 우선순위를 정하세요.
나머지는 매우 간단합니다.
idle
유휴 상태이거나 사용되지 않은 프로세서 용량을 나타냅니다. io
프로세서의 입력/출력 큐입니다. 각각 하드웨어 인터럽트와 소프트웨어 인터럽트입니다 irq
.srq
top
출력을 정렬하는 방법에 대해 더 알고 싶다면 ,여기관련 Stack Overflow 게시물입니다. 또한, 캐시 메모리/버퍼 삭제에 대해 더 자세히 알고 싶으시다면,여기U&L 스택 교환 사이트입니다.
제가 제공한 모든 링크를 읽어보시고, 필요한 경우 Linux 처리 및 메모리 처리 작동 방식에 대해 더 자세히 살펴보시기 바랍니다. 온라인에는 풍부한 정보가 있습니다.