*이 게시판의 게시물은 삭제할 수 없습니다.
  삭제 요청은 서비스-문의하기 이용 바랍니다.
  비공개/상용 자료 요청은 금지합니다.

 

특정 시스템(벤더사)의 메모리 실제 사용량을 확인하는 스크립트를 생성하려고 합니다.

시스템의 memoinfo 데이터를 참조하며 아래와 같습니다.

 

MemTotal:      4138028 kB
MemFree:       1132700 kB
Buffers:         57132 kB
Cached:        1883316 kB

 

사용률 계산식은 아래와 같습니다.

 

(MemTotal - MemFree - Buffers - Cached) / MemTotal * 100

 

제가 생각 했던건 각 데이터들을 변수 지정하여,

 

TOTAL=`cat /proc/meminfo |grep MemTotal |awk '{printf "%.4f %", $2}'`
FREE=`cat /proc/meminfo |grep MemFree |awk '{printf "%.4f %", $2}'`
BUFFER=`cat /proc/meminfo |grep Buffers |awk '{printf "%.4f %", $2}'`
CACH=`cat /proc/meminfo |grep '^Cached' |awk '{printf "%.4f %", $2}'`

 

expr로 계산하려고 하니, 0으로 표현됩니다. "/"시 무조건 정수로 표현한다는걸 확인 했습니다.

| bc 옵션은 해당 시스템에서 막아놓은거 같아 반영 되지 않습니다.

 

결론적으로 awk로 계산해야 될거 같은데 저렇게 변수 지정 후 계산 시 어떻게 사용해야 하는지 모르겠습니다.

 


 빠른 글쓰기




   Copyright 2013-2023 LinuxForum