私の質問をどのように表現するのかわかりませんが、ここにあります。
Linux PCはシリアルポートを介してカスタムハードウェアと通信するように設定されています。ディストリビューションとして「Damn Small Linux V4.10」をインストールしましたが、これまでWebサーバーが正常に動作しています。私が経験している問題は、シリアルポートへの高速通信(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 は、シリアルポートから有効なデータを取得し、結果を同じネットワークに接続されたリモートユーザーにWebページに渡そうとするCGIスクリプトです。
MonkeyはWebサーバーです。
上段を確認してみるとCPUを消費することがないようです。
また、Xを使用せずに最終テストを実行しました。
どのような方法でもプロセスを削除してパフォーマンスを向上させる方法はありますか(例:中断することなくシリアルポートを介してデータを読み取る方法)[ ]
。
また、/proc/sys/vmには「swappiness」ファイルはありませんが、「bdflush」ファイルと「kswapd」ファイルがあることも確認しました。このファイルの数を0に設定したいと思う誘惑がありますが、そうすれば得より糸が多いでしょうか?
これまで私のプロジェクトに効果があった唯一の最終的な解決策は、ハードウェアの転送速度を9600 bpsに下げることです。しかし、私は57600bpsを好む。