삭제 요청은 서비스-문의하기 이용 바랍니다.
비공개/상용 자료 요청은 금지합니다.
서버 쉘 스크립트 질문 드립니다.
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로 계산해야 될거 같은데 저렇게 변수 지정 후 계산 시 어떻게 사용해야 하는지 모르겠습니다.
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
104 | 바이두 파일 손상 1 | 타잔친구 | 650 | 2015.12.14 |
103 | 데비안 부팅시 riase network interface 를 1분넘게 합니다. ㅠ도와주세요 2 | sengwoogi | 639 | 2016.01.06 |
102 | 리눅스 처음 쓰는 여자예요... 1 | 율아 | 630 | 2016.01.03 |
101 | 트루이미지로 백업 후 c드라이브 검사증상 문의드립니다. 1 | hayan | 620 | 2015.09.30 |
100 | can't choose hangul 1 | Babel | 617 | 2018.12.28 |
99 | 민트에 구형 캠 설치할려고 하는데요....도와주세요! 8 | Idontknow | 606 | 2015.10.07 |
98 | 듀얼 테블릿 구매 예정인데 추천 바랍니다. | daejangs | 600 | 2015.09.08 |
97 | 리눅스 웹서버를 돌리는데 2 | 코리안 | 582 | 2017.02.18 |
96 | 64비트 운영체제 어떤가요? 3 | 풍운 | 559 | 2015.12.18 |
95 | Centos make에 대해서,, 1 | 정수리 | 551 | 2016.04.11 |
94 | [grub] 윈도우7있던 ssd 밀고 우분투 16버전을 깔았는데요 1 | netpi | 550 | 2018.02.26 |
93 | (linux mint)업데이트 어떻게 하세요? 4 | 구엘프 | 549 | 2018.02.13 |
» | 쉘 스크립트 질문 드립니다. 1 | refkim | 549 | 2018.03.13 |
91 | 질문요! 3 | Idontknow | 547 | 2015.10.09 |
90 | Red-hat 설치시 GUI 화면 접근 불가입니다. | 댈대뤼 | 541 | 2018.10.18 |
89 | AF 포맷 4K 로 HDD포맷방법은? | 사과 | 540 | 2015.10.18 |
88 | 전원관리 문의드립니다. 6 | 바람난버스 | 530 | 2015.12.01 |
87 | 인터넷 이용중 갑자기 연결이 않되고 끊기는 경우 3 | 바람난버스 | 526 | 2017.08.31 |
86 | 제 나스에 껴있는하드중./. 4 | 블루문운영 | 522 | 2015.10.20 |
85 | ubuntu vhdx 설치후 usb로 부팅하는 방법 | 사과 | 519 | 2015.10.06 |
그냥 $(( )) 로 계산해서 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))