2011-04-26 2 views
3

커다란 파일에 대해 cut 및 awk을 사용하는 한 줄짜리 명령을 만들려면 어떻게해야합니까? 1 대신 16 개의 코어를 모두 사용 하시겠습니까? 이것은 -j를 사용하고 사용할 CPU 수를 지정하는 프로그램이 아닙니다 ...unix 명령에 다중 CPU를 사용하는 방법

답변

1

하나의 가능한 방법은 입력 파일을 여러 조각으로 분할 한 다음 각 조각에 대해 별도의 셸 파이프 라인을 실행하는 것입니다 . 여러 프로세스가 여러 코어를 사용합니다.

+0

을 참조하십시오. 그러나 모든 CPU가 동시에 활용되지 않을 수 있습니까? 특정 CPU가 사용되지 않는 순간이 있습니까? – Nick

+0

여러 프로세스가 별도의 CPU를 사용해야하지만 완전히 확실하지 않습니다. –

0

당신이 그 두 가지를 사용할 수 있도록 모두cutawk 같은 파이프 라인에서, 그들은 아마도, 다른 CPU에서 실행됩니다 를 사용하는 경우. 파이프 라인의 단계 수보다 많은 CPU를 사용하는 간단한 파이프 라인을 설정하는 간단한 방법은 없습니다.

+1

나는 긴 명령을 가지고있다. (cut -f 5 HUGEFILE.txt | awk '{print $ 1 + $ 2}'와 같이). 내가 일하고있는 컴퓨터는 1 cpu의 100 %를 사용하고 나머지는 비활성 상태라고 말합니다. – Nick

3

작업을 병렬 처리하기 위해 GNU 병렬을 사용해 보셨습니까? http://www.gnu.org/software/parallel/

+0

+1. 재미있는 도구. 전에 들어 본 적이 없어요. –

+0

또한보십시오 : http://lwn.net/Articles/395090/ – ninjalj

+0

당신의 업무를 위해 당신은 여기에서 시연되는 - 파이프 선택권을보아야한다 : http://www.youtube.com/watch?v=1ntxT-47VPA –