리눅스 2

[리눅스] 시그널에 대하여

GNU 소프트웨어로 프로그래밍하기 라는 책을 보고 있다. make file의 각종 옵션이나 gdb같은 디버그 툴에 대해 평소 잘 몰랐던 의문들이 많이 풀리는 느낌이다. 그 와중에 시그널에 대한 내용이 있어, 평소 인증 소스상에 있던 sigset(SIGINT, SIG_IGN) 등의 문구가 기억나서 해당 내용을 조금 찾아봤다. 네트워크 프로그램 개발시에 알아두면 좋은 내용들.. 기본적인 시그널 정도는 기억하고 있자. 우리는 흔히 kill -9 pid로 9를 주면서도 9가 의미하는게 먼지 모르고 할 경우가 많다. 9가 SIGKILL 로 정의되있기 때문에 9를 주면 SIGKILL 시그널을 프로세스에 전달해 준다. 시그널 이름 설명 SIGHUP 터미널을 읽어버렸을때 발생한다. SIGABRT 프로그램의 비정상종료시..

리눅스 및 DB 2008.07.15

[리눅스] %iowait 에 대한 이해

운영하고 있는 MySQL 서버중에 트래픽 통계를 집계해서 보여주는 DB가 있는데, 매시간 배치작업이나 데이터 양으로 속도개선이 필요하다. 다음주에 Mysql 버전을 5.1.25로 올리면서 partitiong과 replication을 구현해서 올릴 예정이다. 대체 예정 서버에서 배치프로그램과 쿼리들을 실행시키면서 테스트를 하고 있다. 그런데, sar 명령등에서 %iowait이 배치작업 도중 25% 정도까지 올라가는 현상이 있었다. 기존 운영서버에서는 거의 0%인데, 대체서버에서 왜 올라가는 것일까? 혹시 추가로 꽂은 디스크쪽에 io가 문제가 있는게 아닐까 하는 생각이 들었다. 그러나, %iowait에 대해 좀더 확인해 보니, %iowait 의 의미는 CPU 가 idle 이지만 I/O 가 끝나기를 기다리는 ..

리눅스 및 DB 2008.06.26
반응형