삭제 요청은 서비스-문의하기 이용 바랍니다.
비공개/상용 자료 요청은 금지합니다.
서버 쉘 스크립트 질문 드립니다.
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로 계산해야 될거 같은데 저렇게 변수 지정 후 계산 시 어떻게 사용해야 하는지 모르겠습니다.
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
24 | 리눅스에서 돌아가는 소프트웨어를 찾습니다. 6 | Lr라 | 2716 | 2013.10.17 |
23 | 멀티 리눅스 설치법?? 12 | 지나다가 | 2412 | 2013.10.17 |
22 | 답을 알려주실 분 있으신가요? 3 | tofinder | 2228 | 2013.10.16 |
21 | 우분투 매뉴 질문 2 | 거지왕초 | 2226 | 2013.10.16 |
20 | 초록색 화면 4 | 하하허허 | 2670 | 2013.10.16 |
19 | 리눅스 민트... 4 | consolation | 2964 | 2013.10.15 |
18 | 한글2010 한글문서의 속성 연결하여 주는 방법에 관하여~ 2 | 마니또우 | 3444 | 2013.10.14 |
17 | 브라우저에서 한글입력이안될때 4 | 승진 | 3150 | 2013.10.13 |
16 | 어떤 서버 도메인이 가장 빠른가요? 2 | 지나다가 | 2502 | 2013.10.13 |
15 | 윈도우8 때문에 리눅스 부팅을 못하고 있습니다. 도와주세요 5 | 은빛서쪽 | 4393 | 2013.10.13 |
14 | wine 1.6으로 업데이트하는방법... 3 | Sh | 3510 | 2013.10.13 |
13 | 팬이 미친듯이 돌아가네요. 6 | 쌩초보 | 5348 | 2013.10.13 |
12 | 왕초보 입니다,리눅스를 배우고 싶습니다 7 | kjds7 | 4664 | 2013.10.13 |
11 | 리눅스 에서 TV보시는분 ?? | 거지왕초 | 2525 | 2013.10.13 |
10 | 쿠분투 한글입력문제... 11 | 의미없는시간 | 6473 | 2013.10.12 |
9 | 메모리에 관한 질문? 1 | 거지왕초 | 2558 | 2013.10.12 |
8 | 바탕 화면 2 | 무한대 | 2694 | 2013.10.12 |
7 | 리눅스로 뭘 할 수 있나요? 14 | 양군 | 4008 | 2013.10.12 |
6 | 파티션 나누는 방법 좀? 5 | csoo | 3493 | 2013.10.12 |
5 | 그래픽 드라이버 11 | 기회 | 3445 | 2013.10.11 |
그냥 $(( )) 로 계산해서 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))