/dev/xconsoleにログインできません。

/dev/xconsoleにログインできません。

を使用しており、rsyslogにログを送信したいと思います/dev/xconsole

次の関連行があります/etc/rsyslog.conf

*.*;cron.!=info;mail.!=info   |/dev/xconsole

これは部分的にのみ有効です。/dev/xconsolecca 64kBしか保存できないようです。バッファがいっぱいになると、新しいログが失われます。

次のテストを行いました。

1) add to `/etc/rsyslog.conf`
*.*;cron.!=info;mail.!=info    /tmp/aaa

2) reboot

3) cat /dev/xconsole > /tmp/bbb

4) diff /tmp/aaa /tmp/bbb

今aaaとbbbは同じでなければなりません。しかし、彼らはそうではありません。 aaaには完全なログが含まれていますが、bbbには最後の229行がありません。

この問題をどのように解決できますか?サイズは/dev/xconsole本当に制限されていますか?サイズを増やすことはできますか?

答え1

技術的には/dev/xconsoleそうではありません。サイズ別名Named Pipeだから。ただし、Linuxカーネルは、使用時に各オブジェクトに64KiB(Linux 3.x)または4KiB(Linux 2.x)のバッファを提供します。ファイルシステムにはなく、メモリにのみあります。バラよりhttps://stackoverflow.com/questions/4624071/pipe-buffer-size-is-4k-or-64kそしてhttps://unix.stackexchange.com/a/229544/80483より多くの情報を知りたいです。

アプリケーション(xconsole)が時々データを読み取らないと、バッファがいっぱいでsyslogに書き込むことができず、ブロックされないようにメッセージが削除されます。

関連情報