본문 바로가기
리눅스

[리눅스] 시스템의 CPU, 메모리 사용량 확인

by hs_seo 2020. 6. 11.

CLI 환경에서 현재 사용중인 시스템의 CPU와 메모리 사용량을 알아보겠습니다.

CPU 사용량

CPU 사용량을 top 명령으로 확인하는 방법을 알아보겠습니다. top 명령을 실행하면 아래와 같이 시스템의 전체 정보와 현재 실행 중인 프로세스의 정보를 확인할 수 있습니다.

$ top
top - 02:18:58 up 208 days, 15:21,  2 users,  load average: 0.04, 0.08, 0.08
Tasks: 209 total,   1 running, 138 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.0%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  15837320k total, 12287800k used,  3549520k free,    56160k buffers
Swap:        0k total,        0k used,        0k free,  2270224k cached

 

top 명령의 실행 정보는 아래와 같습니다. 현재 CPU의 사용률, 메모리 사용률을 종합적으로 확인할 수 있습니다.

  • 1행
    • top - 02:18:58
      • 현재 시스템의 시간입니다. 02시 18분 58초입니다.
    • up 208 days, 15:21
      • 현재 시스템이 운영중인 총 시간입니다. 208일 15시간 21분 째 운영중입니다.
    • 2 users
      • 현재 시스템에 접속중인 사용자는 2명입니다.
    • load average: 0.04, 0.08, 0.08
      • 1분, 5분, 15분 간의 시스템 평균 사용롤입니다.
  • 2행
    • Tasks: 209 total, 1 running, 138 sleeping, 0 stopped, 0 zombie
      • 현재 실행중인 전체 프로세스는 209개 이고, 실행중 1개, 대기 138개, 정지 0개, 좀비상태 0개입니다.
  • 3행
    • Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
      • CPU 사용률을 아래와 같이 표현합니다.
        • us: 사용자가 사용한 CPU 시간
        • sy: 커널이 사용한 CPU 시간
        • ni: niced 사용자 프로세스를 실행하는 데 소요 된 시간
        • id: 대기시간
        • wa: IO 대기 시간
        • hi: 하드웨어 인터럽트 사용 시간
        • si: 소프트웨어 인터럽트 사용 시간
        • st: 하이퍼 바이저가 다른 프로세서를 처리하는 동안 가상 CPU가 대기하는 시간
  • 4행
    • Mem: 15837320k total, 12287800k used, 3549520k free
      • 메모리 총 15G, 12G를 사용 중이며, 3G가 사용 가능함. 56MB가 버퍼용으로 사용중입니다.
  • 5행
    • Swap: 0k total, 0k used, 0k free
      • 스왑 상태의 메모리로, 현재 사용하지 않고 있습니다.
  • 4행, 5행
    • 56160k buffers, 2270224k cached
      • 메모리를 버퍼로 56MB 사용중이며, 캐쉬용으로 2G를 사용

 

메모리 사용량

메모리 사용량은 topfree 명령으로 확인할 수 있습니다. top으로 확인할 수 있는 정보는 위에서 설명했고, free를 이용해서 메모리를 확인하는 방법을 알아보겠습니다. 또한 cat /proc/meminfo명령으로 확인하는 방법도 알아보겠습니다.

free

free로 확인한 메모리 사용량은 아래와 같습니다. 출력 정보의 기본 설정은 KB 단위입니다.

$ free
             total       used       free     shared    buffers     cached
Mem:      15837320   12138432    3698888         72      56176    2120736
-/+ buffers/cache:    9961520    5875800
Swap:            0          0          0

 

  • 시스템의 메모리 총합은 15837320(15G)
    • 1행의 정보를 확인하면 사용중(used)인 메모리는 12138432 KB, 사용 가능한(free) 메모리는 3698888 KB
      • total = used + free
    • 2행의 정보를 확인하면 현재 버퍼/캐쉬를 제외하고 사용중인 메모리(used)는 9961520 KB, 사용 가능한 메모리(free)는 5875800 KB
      • 12138432 - 56176 - 2120736 = 9961520‬
    • 1행의 정보를 확인하면 공유 중인 메모리(shared)는 72 KB, 버퍼로 사용중인 메모리(buffers)는 56176 KB, 캐쉬로 사용중인 메모리(cached)는 2120736 KB 입니다.

리눅스는 윈도우와 다르게 메모리를 최대한 활용합니다. 현재 시스템의 메모리 사용량을 확인할 때는 1행의 used와 2행의 used를 모두 확인하여 버퍼와 캐쉬로 활용되는 메모리를 잘 확인해야 합니다.

cat /proc/meminfo

/proc 아래에는 현재 실행중인 프로세스의 정보와 시스템의 정보가 저장되어 있습니다. meminfo에는 현재 메모리 사용 정보가 저장됩니다. 현재 시스템의 전체 메모리(MemTotal), 가용 메모리(MemAvailable)를 이용해 현재 시스템의 메모리 정보를 확인할 수 있습니다.

$ cat /proc/meminfo
MemTotal:       15837320 kB
MemFree:         3693272 kB
MemAvailable:    5792808 kB
Buffers:           56176 kB
Cached:          2121220 kB
SwapCached:            0 kB
Active:         11304824 kB
Inactive:         344584 kB
Active(anon):    9472044 kB
Inactive(anon):       44 kB
Active(file):    1832780 kB
Inactive(file):   344540 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:               436 kB
Writeback:             0 kB
AnonPages:       9472068 kB
Mapped:           148948 kB
Shmem:                72 kB
Slab:             324548 kB
SReclaimable:     245592 kB
SUnreclaim:        78956 kB
KernelStack:       27296 kB
PageTables:        41480 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     7918660 kB
Committed_AS:   12212360 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       75748 kB
DirectMap2M:     2471936 kB
DirectMap1G:    14680064 kB
반응형