삭제 요청은 서비스-문의하기 이용 바랍니다.
비공개/상용 자료 요청은 금지합니다.
서버 쉘 스크립트 질문 드립니다.
2018.03.13 13:41
특정 시스템(벤더사)의 메모리 실제 사용량을 확인하는 스크립트를 생성하려고 합니다.
시스템의 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로 계산해야 될거 같은데 저렇게 변수 지정 후 계산 시 어떻게 사용해야 하는지 모르겠습니다.
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
30 | 우분투 12.04LTS 영문버전 한글로바꾸기. 2 | 백트랙 | 14387 | 2014.01.14 |
29 | putty 백스페이스키 설정방법 4 | ds5nqq | 8224 | 2014.06.24 |
28 | Ubuntu 서버 Virtual Hostings www 인식관련 문의 드립니다 5 | 로얄테넌바움 | 6291 | 2014.07.19 |
27 | 우분투를 네임서버로 사용하고 싶습니다. 4 | 가자™ | 3846 | 2014.07.10 |
26 | squirrelmail(다람쥐메일) html 메일 회신, 전달시 글깨짐현상 2 | 리눅스초짜 | 3727 | 2014.06.29 |
25 | 우분투 업그레이드 방법 2 | 하이에나 | 3577 | 2014.04.22 |
24 | MediaTomb 같은 원도용 프로그램? | 모노스 | 3562 | 2014.06.28 |
23 | 트렌스미션 데몬 같은 윈도우프로그램? 2 | 모노스 | 3222 | 2014.06.26 |
22 | 오피스에서 사용할 파일공유 서버를 만들고 싶은데요... 10 | 소피 | 3169 | 2013.12.11 |
21 | Samba 설치 및 환경 설정 도움 요청 2 | 무한대 | 2635 | 2013.12.02 |
20 | KVM가상화 벤치마크.. 1 | 부들부들 | 2618 | 2014.08.28 |
19 | CentOS7 버전 본딩, 클러스터 관련 질문 2 | 부들부들 | 2365 | 2014.08.25 |
18 | centos에서 메일서버 를 아웃룩에 연결문제 | ic동글 | 1715 | 2014.12.29 |
17 | 리눅스 그래픽 카드 교체 후 kernal panic 2 | 쩌비ㅋ | 1327 | 2015.04.30 |
16 | 시스템 루트경로 읽기모드 1 | 레이키스 | 1302 | 2015.03.18 |
15 | 해외DNS 사용 시 도메인 정보 조회가 안 됩니다 | 조씨 | 1274 | 2015.03.12 |
14 | virtualbox 질문합니다 1 | 김탁구 | 1135 | 2015.01.20 |
13 | DHCP 서버 끊김 현상 | 꼬꼬 | 940 | 2017.09.12 |
12 | 삭제 안됨 | 진이s | 737 | 2015.07.28 |
11 | 리눅스 웹서버를 돌리는데 2 | 코리안 | 586 | 2017.02.18 |
그냥 $(( )) 로 계산해서 echo등으로 출력해서 보시는건 어떤가요? 출력 형식을 바꿔야 한다면 printf 를 사용하는 것도 괜찮을것 같습니다....
예제)
TOTAL=`cat meminfo |grep MemTotal |awk '{printf "%.4f", $2}'`;FREE=`cat meminfo |grep MemFree |awk '{printf "%.4f", $2}'`;BUFFER=`cat meminfo |grep Buffers |awk '{printf "%.4f", $2}'`;CACH=`cat meminfo |grep '^Cached' |awk '{printf "%.4f", $2}'`; echo $(( ($TOTAL - $FREE - $BUFFER - $CACH ) / $TOTAL * 100))