삭제 요청은 서비스-문의하기 이용 바랍니다.
비공개/상용 자료 요청은 금지합니다.
서버 쉘 스크립트 질문 드립니다.
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로 계산해야 될거 같은데 저렇게 변수 지정 후 계산 시 어떻게 사용해야 하는지 모르겠습니다.
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
584 | Slingscold Launcher 같은 ... | 성민컴퓨터 | 169 | 2016.06.11 |
583 | 우분투 제로보드설치시 | cjuny | 192 | 2016.06.14 |
582 | inux Mint 17.3 에서 3D 영상 볼수있나요? | mac | 203 | 2016.05.10 |
581 | 안녕하세요.. linux kernel에서 bio structure를 공부중인데.. | rhguddnr | 207 | 2016.08.15 |
580 | deepin-15.1.1-amd64 설치문의 | 성민컴퓨터 | 209 | 2016.05.20 |
579 | 리눅스 x86 응용프로그램 관련 | Lemon | 216 | 2016.10.28 |
578 | 리눅스 커널간 호환성 질문입니다. | 오블레임 | 219 | 2016.08.01 |
577 | 우분투 종료 질문입니다. | Daniel | 221 | 2016.10.06 |
576 | 리눅스 커널에서 디바이스 드라이버(sata interface)에 대해 좀 아시는분 계신가요? | rhguddnr | 231 | 2016.08.11 |
575 | 민트 파티션문제입니다. | 바람난버스 | 235 | 2016.05.24 |
574 | 오픈 수세에서 fcitx에 대한 질문입니다. | 구엘프 | 235 | 2016.10.13 |
573 | 연결이 왜안될까요? 192.168.1.* 와 192.168.2.* | 후즈츠 | 242 | 2016.08.10 |
572 | 리눅스 명령어 실행시 1 | 하늘보자 | 251 | 2016.04.27 |
571 | xshell xftp 가상머신 질문 | auman | 255 | 2020.03.20 |
570 | hrtimer 오차 발생 질문 | 로미니 | 260 | 2016.11.18 |
569 | 32비트 컴에 OS 등 설치가능한 PE 버전은 어떻게 되나요? | 폰타나 | 265 | 2016.08.06 |
568 | 소프트웨어 업데이트 에러 문제 1 | u2shalom | 266 | 2016.11.17 |
567 | pdf 프린트 화일용량 차이 아시나요? 2 | 구엘프 | 269 | 2016.05.14 |
566 | 리눅스 관련. 설지문제 질문1 | 저기염111 | 274 | 2015.12.17 |
565 | 프록시 서버 운영할때 1 | 코리안 | 290 | 2016.06.24 |
그냥 $(( )) 로 계산해서 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))