2013-02-22 3 views
1

쉘 스크립트가 있습니다.이 스크립트는 백그라운드에서 실행되는 다른 스크립트를 호출합니다. 그러나 백그라운드에서 실행중인이 스크립트는 CPU 사용을 증가시킵니다. 내 작업은 CPU 사용률을 줄이는 것입니다. 도와주세요. 쉘 스크립트를 통해 프로세스를 포크하는 방법은 무엇입니까 ?? 나는, nohup을 & 명령백그라운드 프로세스로 CPU 사용률을 줄이는 방법은 무엇입니까?

을 시도

예 : -

Parent_script.sh는 실행 child_script.sh이 child_script.sh는 CPU 사용률을 증가 (배경) & 참고

: -child_script.sh가있다 강제적으로 백그라운드에서 실행되며 대안이 없습니다.

답변

2

nice 명령을 살펴보면 프로세스의 우선 순위를 낮출 수 있습니다.

예를 들어, 실행할 수있는 가장 낮은 우선 순위를 가진 스크립트를 실행하려면 : 컴퓨터는 CPU가 제공 할 수있는 더 많은 자원을 요구하고 여러 프로세스를 가지고있을 경우에만 동작합니다

nice -n 9 child_script.sh & 

하는 것으로. 반면에 시스템이 유휴 상태이면 가장 낮은 우선 순위 프로세스에서도 최대 99 %의 CPU를 확보 할 수 있습니다.

컴퓨터에서 CPU를 사용할 수있는 경우에도 프로세스의 CPU 사용을 제한하려면 프로그램을 살펴보십시오.

+0

답변 해 주셔서 감사합니다. 우선 순위를 낮추고 싶지 않으면 어떻게합니까? 어떤 대안이 아직도 있습니까 ?? – user1466466

+0

왜 CPU를 많이 사용하고 스크립트를 조정하는지 알아보십시오. – dogbane

+0

당신이 제안한 것을 시도했지만 CPU 사용률은 여전히 ​​감소하지 않았습니다. – user1466466

0

자원을 제한하는 또 다른 방법은 WLM (Work Load Manager)을 사용하는 것입니다. 모든 프로세스를 다른 클래스에 할당 할 수 있습니다. 모든 클래스는 우선 순위와 프로세서 성능을 공유합니다. 특정 클래스의 처리 능력을 동적으로 늘리거나 줄일 수 있습니다. 기본 클래스에는 AIX에서 사용되는 프로세스가 들어 있습니다.

스크립트의 내용 (스크립트에서 어떤 명령을 실행하는지)에 따라 child_script.sh의 처리 능력을 떨어 뜨릴 수 있으려면 내용을 봐야합니다.

관련 문제