Skip to content
SunKyu Lee edited this page Oct 2, 2015 · 1 revision

##사용자에게 제공할 이벤트 종류들

  1. 컨텍스트 스위치 횟수
  2. 페이지 폴트
  3. 디스크 IO
  4. 등등(추가 필요)
  5. nr_thread (커널 전역변수, 총 task 갯수)
  6. 전역변수를 읽을 수 있게

##트리거 조건들(이벤트 별로)

  1. 발생횟수
  2. 전체 크기
  3. 발생빈도
  4. 비율
  5. 추가 필요

##할수 있는 액션들

  1. 사용자가 주는 스크립트실행
  2. 이벤트 log 남기기
  3. visualizing 이쁘게 해서 잘보이기
  4. 웹페이지? 로 ?

##TODO 위의 내용더 정교하게 각각 이벤트별로 bpf프로그램 user program에서 가능하게
측정가능한 것부터 체크 간단한조건들로 테스트

##remember /lib/modules/'uname -r'/build/ System.map -> 변수들 주소

linux/Documentation/networkin/filter.txt verifier

###Process

  1. nr_thread
  2. task별로 context switch (task structure 에 거의 다 있음)nvcsw, nivcsw
  3. cpu별로 context switch
  4. running time, ready, sleep

###Memory

  1. total memory , free, used (전역 Per cpu)
  2. task 별로 할당
  3. 구간내에서의 새로 dynamic하게 할당된 사이즈, free된 사이즈들의 비율 (ex: 초당 할당량 , free)
  4. pagefault 이벤트 ,commit 된 메모리의 양(overcommit 정책을 정할때 참고 할 수 있도록)
  5. reclaim 횟수, 회수량(메모리가 부족할때)
  6. 메모리 파편화정도 파악

lock

###fs

  1. virtual file system : cache 들에 대한 정보 (사이즈, reclaim이랑 연동되서 생각, hit ratio)
  • page cache (file 정보 자체)
  • inode cache (file을 lookup 하기 위한 메타데이터)
  • dentry cache ''

###I/O

  1. size
  2. 시간
  3. 파편화

###Network

  1. 주고받는 패킷의수
  2. 속도
  3. IP header, TCP header 검사

###메모리관리 커널이 보통 페이지단위로 관리함 메모리를 크게크게 관리 할려고 노력함