솔라리스 역시 리눅스 처럼 /proc 밑에 여러가지 정보들이 있습니다.
리눅스의 경우 /proc 바로 하단에 /proc/[pid] 로 되어 있지만
솔라리스는 아마 /proc/pid/[pid] 로 구성되어 있는 것으로 기억합니다.
리눅스의 /proc은 기본적으로 text format 이기 때문에 그냥 cat 등으로 읽을 수도 있고,
string 파싱을 해서 처리하면 됩니다.
하지만, 솔라리스의 경우는 /proc 밑의 프로세스 정보가 binary 형태로 되어 있으서 cat 등으로 읽을 수 없습니다.
대신 솔라리스의 어딘가에 찾아보면 /proc 밑에 저장하는 binary 구조가 기록된 c header 파일이 있습니다.
(아쉽게도 솔라리스 환경에서 개발하는 것을 손 땐지 좀 오래 돼서 헤더 파일명이 기억이 안나네요 ㅎㅎ;;)
그것을 찾아 보면 되는데요. (솔라리스 개발 문서를 뒤져보면 나와있겠죠?)
시스템 정보라면 kstat 을 이용하면 될듯 싶구요.. 프로세스는 글쎄요
시스템 정보라면 kstat 을 이용하면 될듯 싶구요.. 프로세스는 글쎄요.. proc 을 이용하는 방법 말고 또 있나요?
발견하시면 꼭 리플 달아주시길 ^^;
또 궁금증..
결국 ps 소스를 들여다 봤습니다. ^^;;
보니깐. 역시 /proc을 뒤지더군여..
그걸 이용해서 사용하는데.. 여기서 궁금증 하나가 생겼습니다..
/proc에서 읽어다 쓰면 리소스를 잡아 먹거나 그러진 않을까요?
제가 생각하기엔 시스템 자체적으로 사용하기 땜에 그렇진 않을 듯 싶은데..
결국 특별한 함수는 존재하지 않는 듯 싶더군여..
libprocps.so 를 사용해서 읽어들이는 방법이
지금 보기엔 가장 좋을 듯 싶더라구여..
제 생각이 맞는지 리플좀. ^^;;
https://github.com/la9527
리눅스에서는 /proc을 뒤지고.. FreeBSD나 AIX같은 녀석들은
리눅스에서는 /proc을 뒤지고.. FreeBSD나 AIX같은 녀석들은 kvm_* 계열의
함수를 쓰는걸로 알고 있습니다.
----
Let's shut up and code.
proc을 뒤지는거 생각보다 부하가 적습니다. 머 아시느 이야기겠지만
proc을 뒤지는거 생각보다 부하가 적습니다.
머 아시느 이야기겠지만. proc이란 디렉토리가 실제 파일 시스템이 아니고, 요청시 커널에서 뿌려주는 것이기 때문입니다.
cpu, memory, disk i/o 등등은 함수를 통해 구할 수 있습니다.
sysinfo, intro등의 함수를 찾아보세요.
Do you think that's the air you are breathing now?
"kstat" 구조체에 대하여 알고 싶습니다.
[간단한 질문자 소개]
안녕하세요? 저는 대학을 2008년 2월에 졸업하게 될 학생이며, 모 기업의 인턴사원입니다.
워낙 실력이 모자란지라..(제 자신이 냉정하게 생각해 보아도..) 선배님의 지시사항에 따라서 하나 하나..
작은 것 부터 배워 가고 있습니다. 감사합니다.
[프로그램 작성 환경]
운영체제 : 솔라리스
데이터베이스 : 오라클
[질문]
"kstat" 구조체에 대하여 알고 싶습니다.
질문을 하게된 동기는 선배님이 내 주신 과제를 수행하던 중 어려운 부분이 나와 일주일 간의 시간을 투자 했으나,
과제의 진전이 없어, 염치 불구하고 여러 선배님들의 가르침을 얻고자 질문을 드렸습니다.
리눅스에는 proc 디렉토리 밑에 cpuinfo등의 파일이 있어 그것을 참조하면 시스템의 정보(변수에 넣을수 있는 값)을 얻을수
있는 것으로 알고 있습니다.
그런데 솔라리스의 procㅇ디렉토리에는 프로세스 아이디로 된 디렉토리만 존제 할뿐 다른 것을 찾지 못하였습니다.
구글과, 네이버 등의 검색엔진을 이용하여 "kstat" 라는 것을 이용하여 시스템의 정보를 획득하면 된다는 실마리를 찾았습니다.
그런데..맨 페이지를 보고 공부를 해 보아도 이해가 잘 가지 않고 .. 전체적인 큰 테두리를 설명한 부분이 없는 것 같습니다.
맨 페이지에 있는 소스코드 가져다 쓰면서도 지금 뭘 하고 있는 것인지 확신이 없어 과제의 진도가 나가지 않습니다.
제가 알고 자 하는 것은 ..
cpu의 점유율,cpu갯수,1분동안 최대 cpu점유율,최소 cpu점유율,평균 cpu점유율
메모리사이즈,메모리사용율,1분동안 최대 사용율,1분동안 메모리 최소 사용율
현제 마운트 되어 있는 목록,디스크사이즈,디스크사용크기,디스크남은 사용율
등을 알아야 하는데..
"kstat" 를 이용하여 값들을 얻어 왔지만.. 이해가 가지 않는 부분이 많아.. 프로그램 작성에 어려움이 있습니다.
"kstat" 에 대하여 정보를 주시면 너무나 감사하겠습니다.
지금 까지 읽어 주셔서 감사합니다.
지금 제가 해야 할 과제와 100% 같습니다.^^
이런 우연이 있을까요..
제가 지금 해야할 과제와 100% 같습니다.
혹시 해결하셨다면, 힌트라두 주셨으면 합니다.^^
kstat 함수 쪽으로 분석하고 있는데..
워낙 아는 내공이 없는지라...
그럼 수고하세요.~^^
솔라리스도 proc 밑에 정보가 있습니다.
솔라리스 역시 리눅스 처럼 /proc 밑에 여러가지 정보들이 있습니다.
리눅스의 경우 /proc 바로 하단에 /proc/[pid] 로 되어 있지만
솔라리스는 아마 /proc/pid/[pid] 로 구성되어 있는 것으로 기억합니다.
리눅스의 /proc은 기본적으로 text format 이기 때문에 그냥 cat 등으로 읽을 수도 있고,
string 파싱을 해서 처리하면 됩니다.
하지만, 솔라리스의 경우는 /proc 밑의 프로세스 정보가 binary 형태로 되어 있으서 cat 등으로 읽을 수 없습니다.
대신 솔라리스의 어딘가에 찾아보면 /proc 밑에 저장하는 binary 구조가 기록된 c header 파일이 있습니다.
(아쉽게도 솔라리스 환경에서 개발하는 것을 손 땐지 좀 오래 돼서 헤더 파일명이 기억이 안나네요 ㅎㅎ;;)
그것을 찾아 보면 되는데요. (솔라리스 개발 문서를 뒤져보면 나와있겠죠?)
여기를 한 번 참조해
여기를 한 번 참조해 보시죠 ?
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Solaris/Documents/Usedkstat
댓글 달기