1 minute read

Linux 에서 사용중인 메모리양 보는 기본방법

아래 명령어 방법들로 확인

방법1. free -h 명령어

방법2. /proc/meminfo 파일

방법3. top 명령어

CPU 명령어

CPU 코어 전체 개수

#현재 PC의 가상 CPU 코어 수는 8개 입니다.
grep -c processor /proc/cpuinfo
8

물리 CPU 개수

#현재 PC의 물리 CPU 수는 4개 입니다.
grep ^processor /proc/cpuinfo  | wc -l
4

CPU 당 물리 코어 개수

#현재 PC의 CPU 당 물리 코어 개수는 4개 입니다.
grep 'cpu cores' /proc/cpuinfo | tail -1
4

메모리 명령어

총 메모리 용량 확인

#토탈
cat /proc/meminfo | grep MemTotal
MemTotal:          41923492 KB

사용 가능한 메모리 용량 확인

#사용가능한
cat /proc/meminfo | grep MemFree
MemTotal:          8632342 KB

free로 한번에 보기

free
             total       used       free     shared    buffers     cached
Mem:       8051392    7674128     377264          0     433308    5714688
-/+ buffers/cache:    1526132    6525260
Swap:     10092536        104   10092432

free 에서 사용중인 메모리(used) 계산법
💡 * used = MemTotal - MemFree - Buffers - Cached - Slab

변환 (KB => MB => GI)
💡 * KB => MB (KB용량/1024)
💡 * MB => GI (MB용량/1024)

옵션
💡 * b , –bytes : 메모리 양을 바이트 단위로 표시합니다.
💡 * k ,–kilo : 메모리 양을 KB 단위로 표시합니다. 이것이 기본값입니다.
💡 * m, –mega : 메가 바이트 단위로 메모리 양을 표시합니다.
💡 * g, –giga : 메모리 양을 기가 바이트로 표시합니다.
💡 * tera : 메모리 양을 테라 바이트 단위로 표시합니다.

WAS서버

STEP1. 현재 사용가능한 메모리 용량 확인

cat /proc/meminfo | grep MemFree
MemTotal:          8632342 KB

STEP2. 현재 프로세스별 JVM 사용 메모리 용량 확인

# 관리자 계정으로 현재 서버에서 사용중인 각 프로세스별 힙메모리 최대 설정 전부 확인
jps -v  
-Xmx[최대힙메모리리값]   #좌측 값 전수검사

STEP3. [STEP1], [STEP2] 비교하여 실제여유메모리 확인

#[STEP2: JVM 사용메모리 용량] 의 '총 합계' 가 
#[STEP1: 사용가능 메모리 용량] 에서 여유가 있는지 확인

[STEP1] - [STEP2] = 실제 여유 메모리용량

이제 이곳(WAS)으로 옮겨지는 ecube가 존재하는 서버 조사 필요….

리포트서버 (ecube가 존재하는 서버)

STEP1. 현재 ecube JVM 사용 메모리 용량 확인

# ecube 계정으로 현재 서버에서 사용중인 각 ECUBE프로세스 힙메모리 최대 설정 전부 확인
jps -v  
-Xmx[최대힙메모리리값]   #좌측 값 전수검사
이 값을 WAS쪽에 [STEP3]에서 구한 값과 더하면?
===> 실제 이관시 WAS서버 예측메모리가 구해진다.

💡 예측된 총메모리가 [실제 총 메모리]에서 초과되지 않는다고 해도…. 한.. 85%? 된다면 안정범위일려나..

Leave a comment