top과 같은 리눅스 커널에서 cpu usage측정하는 프로그램작성...
글쓴이: 슈퍼공돌이맨 / 작성시간: 토, 2015/10/03 - 11:11오후
안녕하세요
디바이스 드라이버 관련해서 리눅스 커널 모듈 작성을 공부하고 있는 학생입니다.
지금 간단한 예제를 수행하고 있는데 procfs 쪽을 하고 있습니다. 지금은 너무 왕초보 단계라서
하나하나 차근차근하고 있습니다 ㅜ
printk가 아닌 커널 로그가 아닌
cat /proc/proc_example 과 같은 command를 입력했을때
입력 후 1초 동안 각 프로세스별 cpu사용량을 측정 후 화면에 표시하는 프로그램을 작성하고자 합니다. top하고 비슷한거같네요
현재 생각한게 cat 입력시점 프로세스의 사용자 사용시간과 커널사용시간의 합인 stime+utime을 저장해놓고 1초후 이 시간을 다시 구해서
뺀다음 1초로 나누면 될같다고 생각합니다. 그런데 1초후에 이시간을 구하고 이전데이터와 연산까지는 가능할것같은데, 화면에 표시하는게 문제네요. seq_file을 사용을 하는데
타이머를 이용해서 1초후에 화면 표시하기 위해서 타이머 함수에서 특정 시간후 실행될 함수의 argument로
seq_file* m 포인터를 넘긴다음 이를 seq_file()을 호출해서 표시하려고 하니 그냥 시스템이 멈추네요. 잘못한건가
msleep을 이용해서 1초 기다렸다가 하는게 맞는건지....
조언좀 부탁드립니다....
Forums:
댓글 달기