내 질문을 어떻게 표현해야 할지 모르겠지만, 여기 있습니다.
Linux PC가 직렬 포트를 통해 사용자 정의 하드웨어와 통신하도록 설정되어 있습니다. 배포판으로 "Damn Small Linux V4.10"을 설치했는데 지금까지 웹 서버가 제대로 작동하고 있습니다. 내가 겪고 있는 문제는 직렬 포트에 대한 고속 통신(56kbps)입니다.
직렬 포트를 통해 cat 명령을 사용하여 맞춤형 하드웨어의 작동을 테스트한 다음 하드웨어를 종료했는데 반환된 데이터는 예상한 대로였습니다.
RTLinux 또는 RTAI를 사용한다고 들어본 적이 있지만 해당 접근 방식을 시도하기 전에 불필요한 시스템 데몬을 비활성화하고 싶습니다.
마지막으로 테스트했을 때 Linux에서 실행되고 있던 내용은 다음과 같습니다.
init [5]
[keventd]
[ksoftirqd_CPU0]
[kswapd]
[bdflush]
[kupdated]
[khubd]
-su
bash
/opt/monkey-0.9.2/bin/monkey -D
[run.cgi]
ps
run.cgi는 직렬 포트에서 유효한 데이터를 검색하고 결과를 동일한 네트워크에 연결된 원격 사용자에게 웹 페이지로 전달하려고 시도하는 CGI 스크립트입니다.
Monkey는 웹 서버입니다.
상단을 확인해 보면 CPU를 소비하는 것이 없는 것 같습니다.
또한 X를 사용하지 않고 최종 테스트를 실행했습니다.
어떤 방식으로든 프로세스를 제거하여 성능을 향상시킬 수 있는 방법이 있습니까(예: 중단 없이 직렬 포트를 통해 데이터를 읽을 수 있는 방법) [ ]
?
또한 /proc/sys/vm에는 "swappiness" 파일이 없지만 "bdflush" 및 "kswapd" 파일은 있다는 사실도 확인했습니다. 이 파일의 숫자를 0으로 설정하고 싶은 유혹이 있지만 그렇게 하면 득보다 실이 더 많을까요?
지금까지 내 프로젝트에 효과가 있었던 유일한 최종 솔루션은 하드웨어의 전송 속도를 9600bps로 낮추는 것입니다. 하지만 저는 57600bps를 선호합니다.