udevを使用した自動マウントに時間がかかりすぎる

udevを使用した自動マウントに時間がかかりすぎる

特に、独自のログによると、udevを使用してUSBフラッシュドライブを自動的にマウントするのに約3〜4秒かかります。それほど多くは聞こえないかもしれませんが、以前ははるかに軽いオペレーティングシステムを使用していたシステムの組み込みディストリビューションにあり、使用に1秒もかかりませんでした。それほど速くする必要はありませんが、現在はシステムユーザーを迷惑にするほど遅いです。

簡単に言えば、作業速度を上げるためのオプションは何ですか?

ベストアンサー1

Gillesが述べたように、カーネルとudevのロギングをオンにすることができます。 Arch Wikiには良いソースがあります。1] これについて。少なくとも次のカーネルパラメータの使用を検討してください。

debug ignore_loglevel log_buf_len=10M LOGLEVEL=8 earlyprintk=vga,keep udev.log_priority=8

あなたのOSが組み込みシステムにあるように聞こえるので、YMMVには10Mログバッファがあります。それに応じて調整してください。

昨年、Gentooユーザーはブートプロセスで(何よりも)ランダムコールを調べ、それを関連する同期sleepプリミティブに置き換えてブート順序を2秒未満に短縮しました。2]。これに触発された場合は、USBドライブをマウントするために使用されたコードパスを識別し、そのソースコードを見て呼び出しますsleep

詳細がなければ、明確な措置の方向を示すことは困難です。

  • どのオペレーティングシステムを使用していますか?どのバージョンですか?
  • udevはどのバージョンですか?
  • どのマウンターを使用していますか?どんなバージョンですか?
  • など。

これらのオプションのレベルが低すぎる場合は、ディストリビューションの一部を代替として置き換えてみてください。 udevを置き換えるためにmdevを調べるか(systemdを使用しないと仮定)、自動マウントudevルールを編集し、マウンタを別のユーティリティ(mount、pmount、udisks、udevilなど)に置き換えます。

それに加えて、Googleは読んで、閲覧、調整、測定します。

以下は、udev自動マウントの使用に関するいくつかの可能な情報です。

[1]https://wiki.archlinux.org/index.php/Boot_debugging
[2]http://gentooexperimental.org/~patrick/weblog/archives/2013-10.html
[サム]http://www.tuxradar.com/answers/526#null
[4]http://wp.dejvino.com/2013/08/linux-udev-usb-automount-script/
[5]http://ubuntuforums.org/showthread.php?t=168221

おすすめ記事