시스템정보 확인

개요

시스템 고유의 속성정보인 프로세서 ID, 호스트, 운영체제(OS), 메모리(Memory), 디스크(HDD) 정보를 확인한다.

본 기능은 전자정부 표준프레임워크 공통컴포넌트 요소기술 내에 구성되어 있다.

설명

  ① 시스템의 프로세서(Processor) ID(CPU ID)를 가지고 오는 기능 
  ② 시스템의 운영체제의 정보를 가지고 오는 기능
  ③ 시스템의 메모리 용량 정보를 가지고 오는 기능
  ④ 시스템의 디스크 정보를 가지고 오는 기능
관련소스
유형대상소스명설명비고
Serviceegovframework.com.utl.service.EgovSysInfo.java시스템정보 확인 요소기술 클래스
JSPWEB_INF/jsp/egovframework/cmm/utl/EgovSysInfo.jsp테스트 페이지

※ 해당 파일은 보안 상의 이유로 배포되고 있지는 않습니다. 다음 이메일로 요청해 주시면 이메일로 관련 파일을 전달 드리겠습니다.
egovframesupport@gmail.com

메소드
결과값메소드명설명내용
StringgetProcessorID()프로세서ID조회시스템의 프로세서ID 리턴
StringgetHostName()호스트명조회시스템의 호스트명을 리턴
StringgetOSName()OS이름조회시스템의 OS 이름을 리턴
StringgetOSVersion()OS버전조회시스템의 OS 버전을 리턴
StringgetOSPrductor()OS제조사조회시스템의 OS 제조사를 리턴
floatgetMoryFullCpcty()메모리전체용량조회시스템의 메모리 전체용량 리턴
floatgetMoryUsedCpcty()메모리사용용량조회시스템의 메모리 사용용량 리턴
floatgetMoryFreeCpcty()메모리유효용량조회시스템의 메모리 유효용량 리턴
ArrayListgetDiskName()디스크목록조회시스템의 디스크목록 리턴
floatgetDiskFullCpcty()디스크전체용량조회시스템의 디스크 전체용량 리턴
floatgetDiskUsedCpcty()디스크사용용량조회시스템의 디스크 사용용량 리턴
floatgetDiskFreeCpcty()디스크유효용량조회시스템의 디스크 유효용량 리턴
Input
Output
  • String 타입 호스트명 (예, WAS)
  • String 타입 OS이름 (예, AIX)
  • String 타입 OS버전 (예, 5.3.0.0)
  • String 타입 OS제조사 (예, IBM,8204-E8A)
  • String 타입 프로세서ID (예, 0B0AA2)
  • String 타입 디스크명 (예, hdisk0|hdisk1|hdisk2|hdisk3)
  • String 타입 디스크전체용량(MB) (예, 851456.0)
  • String 타입 디스크사용용량(MB) (예, 700160.0)
  • String 타입 디스크유효용량(MB) (예, 151296.0)
  • String 타입 메모리전체용량(MB) (예, 18601.5)
  • String 타입 메모리사용용량(MB) (예, 15744.2)
  • String 타입 메모리유효용량(MB) (예, 2857.3)

환경설정

  • server.properties
#1. 프로세서ID, OS정보 조회 쉘 스크립트
SHELL.WINDOWS.getOSInfo = C:/Documents and Settings/Administrator/egovProps/prg/getOSInfo.bat
SHELL.UNIX.getOSInfo = /product/jeus/egovProps/prg/getOSInfo.sh
#2. 메모리정보 조회 쉘 스크립트
SHELL.WINDOWS.getMoryInfo = C:/Documents and Settings/Administrator/egovProps/prg/getMoryInfo.bat
SHELL.UNIX.getMoryInfo = /product/jeus/egovProps/prg/getMoryInfo.sh
#3. 디스크정보 조회 쉘 스크립트
SHELL.WINDOWS.getDiskInfo = C:/Documents and Settings/Administrator/egovProps/prg/getDiskInfo.bat
SHELL.UNIX.getDiskInfo = /product/jeus/egovProps/prg/getDiskInfo.sh
  • getOSInfo.bat (윈도우용 OS정보 조회 스크립트)
systeminfo
  • getOSInfo.sh (유닉스용 OS정보 조회 스크립트)
#echo $1 -SEARCH NAME (NAME, VERSION, PRDUCTOR)	

#NAME
if [ $1 == "NAME" ]
then
   uname -s
fi

#VERSION
if [ $1 == "VERSION" ]
then
   oslevel
fi

#PRDUCTOR
if [ $1 == "PRDUCTOR" ]
then
   prtconf | grep "시스템 모델:" | awk '{print $3}'
fi

#PROCESSOR
if [ $1 == "PROCESSOR" ]
then
   uname -a | awk '{print substr($5,3,6)}'
fi
  • getMoryInfo.bat (윈도우용 메모리정보 조회 스크립트)
systeminfo
  • getMoryInfo.sh (유닉스용 메모리정보 조회 스크립트)
#echo $1 -SEARCH NAME (FULL, USING, VALID)	

#FULL
if [ $1 == "FULL" ]
then
   vmstat | grep "mem=" | awk '{print $4}'
fi

#USING
if [ $1 == "USED" ]
then
   vmstat | tail -1 | awk '{print $3*4096/1024/1024}'
fi

#VALID
if [ $1 == "FREE" ]
then
   vmstat | tail -1 | awk '{print $4*4096/1024/1024}'
fi
  • getDiskInfo.bat (윈도우용 디스크정보 조회 스크립트)
윈도우 환경에서는 디스크정보를 지원하지 않습니다.
  • getDiskInfo.sh (유닉스용 디스크정보 조회 스크립트)
#echo $1 -SEARCH NAME (NAME, FULL, USING, VALID)	

#NAME
if [ $1 == "NAME" ]
then
   lspv | awk '{print $1}'
fi

#FULL
if [ $1 == "FULL" ]
then
   lspv $2 | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}'
fi

#USING
if [ $1 == "USED" ]
then
   lspv $2 | grep "USED PPs" | awk -F"(" '{print $2}' | awk '{print $1}'
fi

#VALID
if [ $1 == "FREE" ]
then
   lspv $2 | grep "FREE PPs" | awk -F"(" '{print $2}' | awk '{print $1}'
fi

사용방법

	import egovframework.com.utl.sim.service.EgovSysInfo;
 
	// 1. 호스트명, OS명, OS버전, OS제조사, 프로세서
	hostname = EgovSysInfo.getHostName();
	osname = EgovSysInfo.getOSName();
	osversion = EgovSysInfo.getOSVersion();
	osprductor = EgovSysInfo.getOSPrductor();
	processor = EgovSysInfo.getProcessorID();
 
	// 2. 메모리 용량
	moryUsed = EgovSysInfo.getMoryUsedCpcty();
	moryFree = EgovSysInfo.getMoryFreeCpcty();
	moryFull = EgovSysInfo.getMoryUsedCpcty();
 
	// 3. 디스크 용량
	ArrayList list = EgovSysInfo.getDiskName();
	for(int i = 0; i < list.size(); i++) {
		diskName += (String)list.get(i) + " | ";
		diskFull += EgovSysInfo.getDiskFullCpcty((String)list.get(i));
		diskUsed += EgovSysInfo.getDiskUsedCpcty((String)list.get(i));
		diskFree += EgovSysInfo.getDiskFreeCpcty((String)list.get(i));
	}

참고자료

N/A

 
egovframework/시스템정보확인.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki