私は機械とリモートで通信していますssh
。このシステムは、非常に限られたコマンドセットを使用してカスタムLinuxを実行します。
ある時点では、特定のディレクトリはファイルの書き込みを拒否します。を実行するか、ls
[タブ]をクリックしてファイル名をオートコンプリートするか、ワイルドカードを使用してファイルを削除すると、コマンドは中断されます。
新しいssh
セッションを開いてクリックすると、ps | grep D
次のようになります。
PID Uid VSZ Stat Command
628 root DWN [jffs2_gcd_mtd4]
930 root 2912 D rm /mnt/flash/system/config
995 root 2400 D scp -t /mnt/flash/system/
2083 root 3044 D ls -AlSh /mnt/flash/system
6994 root 2912 D chmod +x /mnt/flash/system/config
13281 root 3052 S grep D
22220 root 2400 D scp -t /mnt/flash/system/
実行mount
コマンドは次のように表示されます。
rootfs on / type rootfs (rw)
/dev/root on / type ext2 (rw)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw)
tmpfs on /tmp type tmpfs (rw)
/dev/mtdblock4 on /mnt/flash type jffs2 (rw)
状態のあるプロセスD
(プロセスがディスクI / O操作を実行していることを示します。通常、この状態は観察されませんが、ps
複数回実行すると同じ状態が表示されるため、プロセスは実際にI / O操作で停止します)は次のとおりです。マウントパスのファイルを削除、一覧表示、編集、または書き込みます/mnt/flash
。
このマウントパスファイルシステムはjffs2
次のとおりです。表示されているプロセスの1つjffs2_gcd_mtd4
の状態はですDWN
。
私はLinuxについての明確な知識がないので、できるだけ簡単に説明してください。
- それでは、
DWN
状態とは何ですか?これは、プロセスが承認されたことを示します(つまり終了しました)。 - この問題をどのように解決できますか?このパスではファイルを編集できず、コンピュータを再起動するのは高価なオプションです(たとえば、物流)。
答え1
ps状態はDWN
フラグの組み合わせです。
D uninterruptible sleep (usually IO)
W paging (not valid since the 2.6.xx kernel)
N low-priority (nice to other users)
ディスク待機状態に閉じ込められるのは心配な問題であり、ドライバエラーを示す強力な兆候です。重大に破損したドライブに接続されたドライバであっても、最終的にはタイムアウトが発生し、そのドライブにアクセスするシステムコールにEIOが返されます。
あなたが言ったように、「カスタム」カーネルを実行している場合、ファイルシステムがあまりにもまれであるため、ドライバが無限に待って停止することができるという問題を提起する前に聞いたことはありません。これは、本番を考慮する必要があることを示唆しています。機械が破損しています。
個人的には、このようなドライバーは気を付けなければなりません。10年前に孤児になったと思います。特にそれ以来ドライバーを作成した動機フラッシュメモリコントローラの発展により、このような状況が大幅に解消された。
コメントに返信を追加するには:
残念ながら、ウェッジドライバはしばしばハードウェアチャネルを束ねて再起動しなければそれを解放することができます。あなたはこの装置が操作上アクセスしにくいと言いました。火星にいないことを願っています。再起動するように誰かに送信する前に、デバイスのマウント(通常は/etc/fstabにありますが、可能であれば/etc/rc.localにもあります)を削除したことを確認してください。そうしないと、システムが再び停止する可能性があります。
@goldilocksがコメントで指摘したように、ハードウェアエラーは明らかな可能性があるため、フラッシュメモリを取り外すことができる場合は、交換ハードウェアを技術者に送信します。フラッシュは失敗する前の書き込みサイクル数が制限されており、古いフラッシュは最新のフラッシュより書き込み周期が少ないことは注目に値します。
問題が解決したら、リモートインターフェイスで許可されている場合は、メモリに新しいファイルシステムを構築してマウントできます。