42.4. SystemTap을 사용하여 폴링 애플리케이션 모니터링

timeout.stp SystemTap 스크립트를 사용하여 폴링 중인 애플리케이션을 식별하고 모니터링할 수 있습니다. 이렇게 하면 불필요한 폴링 또는 과도한 폴링을 추적할 수 있으므로 CPU 사용량 및 전력 절감 측면에서 개선할 수 있는 영역을 정확하게 파악할 수 있습니다.

사전 요구 사항

절차

  • timeout.stp 스크립트를 실행합니다.

    # stap --example timeout.stp

    이 스크립트는 각 애플리케이션에서 시간이 지남에 따라 다음 시스템 호출을 사용하는 횟수를 추적합니다.

  • 폴링
  • 선택
  • epoll
  • itimer
  • futex
  • nanosleep
  • 신호

이 예제 출력에서는 어떤 프로세스가 어떤 시스템 호출을 사용한지, 몇 번인지 확인할 수 있습니다.

uid |   poll  select   epoll  itimer   futex nanosle  signal| process
28937 | 148793       0       0    4727   37288       0       0| firefox
22945 |      0   56949       0       1       0       0       0| scim-bridge
  0 |      0       0       0   36414       0       0       0| swapper
4275 |  23140       0       0       1       0       0       0| mixer_applet2
4191 |      0   14405       0       0       0       0       0| scim-launcher
22941 |   7908       1       0      62       0       0       0| gnome-terminal
4261 |      0       0       0       2       0    7622       0| escd
3695 |      0       0       0       0       0    7622       0| gdm-binary
3483 |      0    7206       0       0       0       0       0| dhcdbd
4189 |   6916       0       0       2       0       0       0| scim-panel-gtk
1863 |   5767       0       0       0       0       0       0| iscsid