질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

조건에 해당하는 PID 자동 Kill하는 방법은?

작성자 정보

  • 홍석범 작성
  • 작성일

컨텐츠 정보

본문

안녕하세요..씨디네트웍스 홍석범입니다..

아래의 스크립트를 cron으로 등록해 두고 사용하시면....

Memory %가 높은 경우(ps 실행시 2%이상) 자동으로 해당 프로세스를 kill하게 됩니다.

# kill -9 `ps aux | grep nobody | awk '{if ($4 > 2) print  $2}' `

해당 프로세스에 대해서는 lsof -p pid 와 strace -p pid 등으로 분석해 보시어 어떤 process에서 발생하는지  확인하시어 조처하시기 바랍니다.

 


감사합니다.

 

김상길 님의 글



리눅스  초보자 입니다.
 
어느날 웹서버가 자꾸 죽어서 top으로 확인해보니 아래붉은 줄 라인 처럼 특정PID가 메모리를 점차적으로 잡아먹어 결국 out of memory 와 함께 웹서버가 죽어버립니다.
 
1.특정 프로세가 정해놓은 메모리 사용량 이상이 되었을때 그 특정 프로세서를 자동으로 Kill하려면 어떻게 해야 되나요?
 
2. 그리고 근본적으로 어떤 대책을 세워야 할까요?
 
00:01:26  up  9:57,  2 users,  load average: 1.40, 0.62, 0.46
133 processes: 132 sleeping, 1 running, 0 zombie, 0 stopped
CPU0 states:   0.0% user   0.2% system    0.0% nice   0.0% iowait  99.0% idle
CPU1 states:   3.0% user   0.2% system    0.0% nice   0.0% iowait  95.1% idle
Mem:   513148k av,  506628k used,    6520k free,       0k shrd,     880k buff
                    435140k actv,   24568k in_d,   10604k in_c
Swap: 1052216k av,   86268k used,  965948k free                  186348k cached
  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
15452 nobody    15   0  255M 243M    56 S     3.3 48.6   0:10   1 httpd
 1902 mysql     15   0 14288 3044   900 S     0.0  0.5   0:01   0 mysqld
 1903 mysql     16   0 14288 3044   900 S     0.0  0.5   0:02   0 mysqld
 1904 mysql     20   0 14288 3044   900 S     0.0  0.5   0:00   0 mysqld
 1905 mysql     25   0 14288 3044   900 S     0.0  0.5   0:00   0 mysqld



 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,300 명
  • 현재 강좌수 :  36,963 개
  • 현재 접속자 :  381 명