2017-03-31 16 views
3

각 프로세스가 로그의 실시간 데이터를 캡처하기 위해 다양한 크기 (0 ~ 50mb)의 로그를 읽는 다중 병렬 파일 처리 프로세스 (최소 200 프로세스)를 실행 중입니다 .16 코어 및 8 기가 바이트 숫양 리눅스 머신.리눅스 작업에서 I/O 대기 시간을 줄이는 방법이 있습니까?

그러나 파일의 CPU와 경과 시간 프로세스 사이에 큰 차이가 있습니다.

이러한 지연 B/W CPU 및 경과 시간과 몇 가지 예제가있는 이유를 설명해 주실 수 있습니까? 또한 이러한 프로세스의 대기 시간을 줄일 수있는 방법이 있습니다.

+0

한 번에 적은 작업을 실행하여 I/O 시스템의 경합을 줄이거 나보다 효과적인 캐싱을 위해 메모리를 추가하십시오. – twalberg

+0

파일이 공유 저장소에 있습니까? –

+0

@twalberg 실시간 데이터를 캡처해야하므로 더 적은 작업을 실행할 수 없습니다. –

답변

0

어떤 배포판을 운영하고 계십니까? 이 방법에 접근하는 한 가지 방법은 다른 I/O 스케줄러를 사용하는 것이지만 배포판이 스케줄러 변경을 지원하지 않을 수 있기 때문에 묻습니다. 특정 I/O 스케줄러는 다른 파일 시스템과 아키텍처에 가장 적합하므로 다른 스케줄러에 대한 아이디어를 얻으려면 here을 사용하는 것이 좋습니다. 당신이 겪고있는 불일치에 관해서는, 나는 솔직히 그 일이 무엇인지 전혀 모른다.

또한 로그 파일이 SSD에 있다고 가정합니다.

+0

로그 파일이 HDD에 생성되어 I/O 스케줄러를 사용할 수 없습니다. –