2012-12-06 3 views
0

많은 CPU 리소스를 사용하는 Python 프로그램이 있습니다. 내 일반 PC에서는 문제가 없지만 내 Raspberry Pi를 처리하는 것이 너무 어려울 수도 있습니다. 속도는 문제가되지 않습니다. 몇 시간에 한 번만 코드를 실행하는 실시간 시스템을 구현할 때 코드가 느리게 실행되는지는 신경 쓰지 않지만 다른 프로세스를 동시에 실행하면서 CPU를 확보해야합니다. 어쨌든 CPU 사용량을 줄이면 실행 속도를 희생 할 수 있습니까? 어떤 도움을 주시면 고맙겠습니다.파이썬 프로그램에서 CPU 및 메모리 사용을 줄이려면 어떻게해야합니까?

+0

도움을 받으려면 코드를 참조해야합니다. 프로그램이하는 일에 대해서는 언급하지 않았습니다. 코드를 보지 않고 제안 할 수있는 유일한 방법은 정보를 처리하기 위해 대기하는 동안 적절한 루프/스레드를 사용하고 루프를 보장하는 것입니다. –

+0

당신이하고있는 일과 당신이하고있는 일에 대해 생각해 보는 것이 도움이 될 것입니다. 일반적으로 Python을 가속화하기위한 전략은 프로파일 링을 사용하여 코드에서 CPU를 가장 많이 사용하는 부분을 격리 한 다음 C 또는 Cython을 사용하여 재 작성하는 것입니다. –

+0

PyBrain 라이브러리의 신경망을 사용하고 있습니다. 전체 프로그램에 대한 CPU 사용을 제한 할 수있는 방법이 있습니까? 내 Ravenberry Pi에서 데비안을 사용하고 있습니다. 리눅스 나 파이썬 자체에서이 작업을 수행 할 수있는 방법이 있습니까? – user17151

답변

3

프로그램을 고치고 최적화 할 수는 있지만 사실 모든 프로그램은 가장 작은 시간에 끝내기 위해 필요한만큼의 CPU를 사용하도록 설계되어 있습니다 가능한.

  1. 라즈베리 파이 리눅스가 맞다 :

    나는 당신의 목표를 달성하기 위해 두 가지 방법을 참조? 따라서 스크립트를 실행하는 파이썬 인터프리터의 프로세스 우선 순위를 낮추십시오. 이것은 그들이 매일 몇 밀리 초 .. 추악한 몇 밀리 초 동안

  2. 스크립트에서

    , 수면을 필요로하는 경우 다른 프로그램이 CPU를 가질 수 있는지 확인합니다,하지만 트릭을

을 할 수 그러나 옵션 중 하나입니다 아마 갈 길.

+0

고마워, 나는 옵션 1을 생각하지 못했다고 생각할 수 없다. 나는 아마 잠을 잘 조합 해 볼 것이다. 많이 감사합니다 – user17151

+0

@ user17151 우선 수면이 너무 많은 코드는 아주 못 생겨서 우선 순위를 낮추십시오. ps : 구현에 따라 디버그하기가 어려울 수 있습니다. – Paladin

+1

예 감사합니다. 나는 그것을 최후의 수단으로 사용하여 잠을 자도록하겠습니다. – user17151