23.2. ユーザー空間アクセス


常に適切に調整された I/O を使用し、サイズ付けされた I/O を使用するようにしてください。これは、ダイレクト I/O アクセスに特に重要です。ダイレクト I/O は logical_block_size の境界で調整する必要があり、また logical_block_size の倍数に調整する必要があります
ネイティブ 4K デバイス(つまり logical_block_size が 4K)の場合、アプリケーションはデバイスの logical_block_size の倍数に対してダイレクト I/O を実行することが重要になります。つまり、アプリケーションは 4k-aligned I/O ではなく、512 バイトのアラインメント I/O を実行するネイティブの 4k デバイスで失敗します。
これを回避するには、適切な I/O 調整とサイズを使用するように、アプリケーションはデバイスの I/O パラメーターを参照してください。上記のように、I/O パラメーターは sysfs インターフェースおよびブロックデバイス ioctl インターフェースの両方で公開されます。
詳細は man libblkid を参照してください。この man ページは、libblkid-devel パッケージで提供されます。

sysfs インターフェース

  • /sys/block/disk/alignment_offset
  • /sys/block/disk/partition/alignment_offset
  • /sys/block/disk/queue/physical_block_size
  • /sys/block/disk/queue/logical_block_size
  • /sys/block/disk/queue/minimum_io_size
  • /sys/block/disk/queue/optimal_io_size
カーネルは、I/O パラメーター情報を提供しない「レガシー」デバイスの sysfs 属性をエクスポートします。以下に例を示します。

例23.1 sysfs インターフェース

alignment_offset:    0
physical_block_size: 512
logical_block_size:  512
minimum_io_size:     512
optimal_io_size:     0

ブロックデバイス ioctls

  • BLKALIGNOFF: alignment_offset
  • BLKPBSZGET: physical_block_size
  • BLKSSZGET: logical_block_size
  • BLKIOMIN: minimum_io_size
  • BLKIOOPT: optimal_io_size
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.