시스템 리소스 체크 툴 중에 dstat이라는 것을 이용하면 system 항목에 int, csw라는 필드가 있다. (vmstat이나 sar로도 확인 가능하다.)

각각 interrupt와 context switch 횟수를 의미한다.
interrupt : 하드웨어 이벤트가 발생할 때 cpu에 전달하는 신호, 마우스 클릭, 네트워크 패킷 수신 등...
context switch : CPU가 실행중인 프로세스를 중단하고, 다른 프로세스로 교체하는 과정.
멀티 태스킹 환경에서 가지고 있는 cpu 보다 훨씬 많은 프로세스들이 동시에 실행되는데, 정확히는 context switch를 통해 cpu 자원을 각 프로세스들이 빠르게 교체하면서 사용한다.
네트워크 트래픽이 많아지면 당연히 int는 증가한다. NIC에서 패킷을 처리하느라 CPU에 계속 신호를 보내기 때문이다.
csw가 과하게 높으면 일종의 Thrashing 현상이 발생하는 것인데, 인터럽트가 갑자기 증가해도 발생하고, 과하게 스레드/프로세스가 생성되거나, I/O가 너무 빈번해도 발생한다. 기본적으로 프로세스를 추적해봐야 한다.
"pidstat -w -u 1" 명령으로 어떤 프로세스가 과하게 cpu를 쓰는지, 문맥 교환을 일으키는지 체크해볼 수 있다.
'Linux' 카테고리의 다른 글
| top (0) | 2025.12.29 |
|---|---|
| Load Average (0) | 2025.12.26 |
| I/O 스케줄러 (1) | 2025.12.19 |
| rrqm과 wrqm (0) | 2025.12.18 |
| Dirty Page (0) | 2025.12.16 |