목차

시스템정보 확인

개요

시스템 고유의 속성정보인 프로세서 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

환경설정

#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
systeminfo
#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
systeminfo
#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
윈도우 환경에서는 디스크정보를 지원하지 않습니다.
#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