2009-03-18 9 views
7

웹 서버 (VPS)의 백그라운드 프로세스 인 CPU 및 메모리가 많은 Python 스크립트 (긴 WAV 파일 분석 및 변경)를 HTTP 요청.서버에서 CPU 집약적 인 프로세스를 관리하는 방법

스크립트를 실행하는 데 최대 20 초가 걸리고 서버 성능이 걱정됩니다. 프로세스의 우선 순위를 낮추거나, 주기적으로 OS를 제어하거나, 겸손한 서버의 성능을 보호하기위한 좋은 접근법이 있습니까?

+1

Robw을, 당신은 정답을 선택할 수 있을까? (당신을 위해 일한 사람) –

답변

7

UNIX 서버라고 가정하면 nice command을 사용하여 우선 순위를 낮출 수 있습니다. 그 트릭을해야합니다.

+0

파이썬은 편리하게 os.nice (...) – timday

+0

를 제공합니다! 나쁜 말장난 그러나 그런 삶입니다. – Kurt

5

리눅스 기반 서버에서 cpulimit을 사용할 수 있습니다. 이미 실행을 시작한 스크립트의 경우에도 CPU 사용을 제한 할 수 있습니다 (한도를 백분율로 지정). 사용법은 매우 간단합니다.

그것은 데비안 저장소로 볼 수 있습니다, 그래서 당신은 적성 사용하여 쉽게 설치할 수 있습니다 cpulimit 포함 사용할 수

apt-get install cpulimit 

일반적인 방법 :

# To limit CPU usage to 75% of program called foo: 
cpulimit -e foo -l 75 

# To limit CPU usage to 50% of program with pid = 1582 
cpulimit -p 1582 -l 50 
관련 문제