공유할 서비스 선택

TECH


TECH

OS [질문] free 메모리에서 Used가 너무 높게 나오는데, ps 명령어에는 사용율이 없습니다.

페이지 정보

작성자 OSworker 아이디로 검색 전체게시물 댓글 0건 조회 417회 좋아요 1회 작성일 24-02-19 22:06

본문

안녕하세요 

 

오늘은 얼마전 고객분에게로 부터 받은 질문을 여기에 쓰고자합니다.~

 

제가 리눅스를 했을때 부터 항상 듣던 메모리 사용량에 대해서입니다. 

 

질문) Free로 볼때 사용량이 80% 이상인데, ps 명령어로 보면 그정도 사용양이 아닙니다. 왜그런건가요

        메모리를 증설해야하나요? 

 

참 쉬운 질문이면서도, 고객을 이해시키기 어려운 답변일수도있습니다~ 

 

그래서 오늘 메모리 사용량에 대해 알아보겠습니다~

 

# free -m

                    total        used        free       shared  buff/cache   available

Mem:          128198        1907      126587          23         778      126291

Swap:          10239           0       10239

 

. total: 시스템의 전체 메모리 크기

. used: 현재 사용 중인 메모리

. free: 현재 사용 가능한 메모리

. shared: 공유 메모리 (일반적으로 사용되지 않음)

. buff/cache: 버퍼와 캐시 메모리로 사용되는 메모리 양

. available: 즉시 사용 가능한 메모리 (버퍼 및 캐시를 고려한 나머지 메모리)

 

이 출력에서 "used" 열은 현재 시스템에서 사용 중인 메모리 양을 나타내며, "free" 열은 현재 사용 가능한 메모리 양을 나타냅니다. "buff/cache" 열은 시스템에서 버퍼와 캐시로 사용되는 메모리 양을 보여줍니다.

따라서 "free" 명령어는 시스템의 메모리 사용량을 모니터링하고, 시스템 리소스 관리에 도움을 줄 수 있는 유용한 도구입니다.

 

=> 제 테스트 서버는 128G 메모리입니다.  현재 돌아가는 프로그램이 없어서 사용량이 적은데요.

 

현재 used 가 1.9G 정도로 보여집니다. 하지만 실제로 사용양을 계산하는 방법은

 

------------------------

# man free

used   Used memory (calculated as total - free - buffers - cache)  

------------------------

. free manpage에서 보여지는것처럼   total - free - buffers - cache 입니다. // 옛날 버전이라 available 이 없습니다. free를 빼고 나머지를 빼주시면됩니다. 

 

> 참고링크 : https://access.redhat.com/solutions/58689

 

128198 - 23 - 778 - 126291 = 1,106  위 used 1907과 거의 2배 차이가 납니다. 

그럼 이 값이 맞는지 확인 해보겠습니다.

 

# ps -aux | tr -s ' ' | awk 'BEGIN{sum=0}{ sum+=$6 }END{print sum}'

1393424    // 약 1.39G가 나옵니다. 

 

 

- 아래의 물리적 실제 메모리 값인 RSS를 합한 값입니다. 

# ps -aux

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

 

. VSZ: 가상 메모리 크기입니다. 이 값은 프로세스가 사용하는 모든 메모리(실제 메모리 및 스왑 공간)의 크기를 나타냅니다.

. RSS: 실제 메모리 사용량입니다. 이 값은 프로세스가 실제 메모리에서 사용하는 양을 나타냅니다.

 

 

# cat /proc/meminfo

MemTotal:       131275604 kB

MemFree:        129636148 kB

MemAvailable:   129333092 kB

Buffers:            5800 kB

Cached:           739268 kB

 

> total - free(or MemAvailable) - buffers - cache 계산법 

131275604 - 129333092 - 5800 - 739268 = 1,197,444  약 1.19G

 

이렇게 계산을 하면 현재 실제로 사용하는 메모리 값을 계산할수있다. 

 

하지만, 각 회사에서 사용하는 모니터링 솔루션에서는 대부분 Buffers+Cached 를 합하여 그래프로 보여줍니다. 

그래서 명령어로 확인되는 메모리양과 모니터링 솔루션에서 보여지는 그래프와 차이가 있습니다. 

(이부분은 모니터링 솔루션 업체에 메모리 계산법을 문의하셔야합니다.)

 

그런데~~~~~!!!!!

만약 물리서버를 사용하지 않고, VMWARE 같은 가상화 Hypervisor를 사용하신다면 말이 조금 달라집니다.

 

- 참고링크 : https://access.redhat.com/mt/ko/solutions/43729

-------------------------------------

위 내용을 보시면 VMWARE를 사용할 시 RHEL VMware 게스트의 메모리 사용량을 계산할 수 없다고 나와있습니다. 

그 이유는  VMware 메모리 제어 드라이버로 인해 발생합니다.vmmemctl.ko " 또는 "vmware_balloon.ko " 모듈.

 

- ESX 서버의 메모리 로드가 과도한 경우와 같은 일부 상황에서는 서버가 vmmemctl 모듈을 제어하여 "물리적" 메모리에 게스트 메모리를 할당하고 고정합니다.

 

- 그러면 이러한 "물리적" 메모리 영역을 ESX 서버에서 회수할 수 있습니다. 이 기능을 "풍선 표시"라고 합니다. 풍선을 팽창시키면 메모리 압력이 증가하고, 메모리 압력이 증가하면 커널이 메모리 페이지를 스왑 공간으로 페이지 아웃할 수 있습니다. vmmemctl 모듈에는 게스트 OS 내에 외부 인터페이스가 없습니다. 개인 채널을 통해서만 ESX 서버와 통신합니다. 따라서 vmmemctl에 의해 할당된 메모리는 게스트 OS에서 계산할 수 없습니다.

-------------------------------------

 

 

> 확인 방법

# modinfo vmmemctl

or

# modinfo vmware_balloon

 

 

그러니 VMWARE 사용하시는 고객분들은 메모리 걱정을 많이 안하셔도 됩니다~~ 자연스러운 일이라고합니다~^^

 

혹, 운영중에 궁금한 사항들이 있으시면 댓글로 남겨주세요~

 

감사합니다. 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
194 OS OSworker 아이디로 검색 전체게시물 02-28 269
RHEL8부터는 네트워크 본딩을 구성하려면 nmcli 유틸리티를 사용해야 합니다. 레드햇 권고입니다.

카테고리 : OS

269 0
작성자 : OSworker 24/02/28
193 Middleware 미들웨어 아이디로 검색 전체게시물 02-20 400
(AI-2) Chat-GPT 4All - 허깅페이스 & LLM 국내 인기순위 (Open Ko-LLM LeaderBoard)

카테고리 : Middleware

400 0
작성자 : 미들웨어 24/02/20
열람중 OS OSworker 아이디로 검색 전체게시물 02-19 418
열람중
[질문] free 메모리에서 Used가 너무 높게 나오는데, ps 명령어에는 사용율이 없습니다.

카테고리 : OS

418 0
작성자 : OSworker 24/02/19
191 Middleware 미들웨어 아이디로 검색 전체게시물 02-06 427
(AI-1) Chat-GPT 4All - PC 설치 방법

카테고리 : Middleware

427 0
작성자 : 미들웨어 24/02/06
190 OS OSworker 아이디로 검색 전체게시물 02-05 429
1월31일에 발표된 보안취약점 CVE-2024-21626에 대해 알아보겠습니다.

카테고리 : OS

429 0
작성자 : OSworker 24/02/05
189 OS OSworker 아이디로 검색 전체게시물 01-31 470
OS 백업 아직도 3rd part 사용하시나요? 이제는 OS 에 포함된 ReaR 사용해보세요~!

카테고리 : OS

470 0
작성자 : OSworker 24/01/31
188 OS OSworker 아이디로 검색 전체게시물 01-23 308
Red Hat 업무별 직군들에 대해 알아보겠습니다. #AM #GPS #TSE #TAM

카테고리 : OS

308 0
작성자 : OSworker 24/01/23
187 Middleware 미들웨어 아이디로 검색 전체게시물 01-19 207
(오픈소스 활용-26) scouter 2.22 에서 Weblogic14 모니터링 등록 중 이슈 조치방법

카테고리 : Middleware

207 0
작성자 : 미들웨어 24/01/19
186 OS OSworker 아이디로 검색 전체게시물 01-15 720
[보안취약점] OpenSSH 보안이슈 `cve-2023-48795`

카테고리 : OS

720 0
작성자 : OSworker 24/01/15
185 Middleware 미들웨어 아이디로 검색 전체게시물 01-06 318
(오픈소스 활용-25) scouter 2.22 에서 JEUS8 모니터링 등록 하는 방법

카테고리 : Middleware

318 0
작성자 : 미들웨어 24/01/06
Total 204건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top