HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > Linuxtips, デバイス管理 > /proc/dmaでLinuxのDMAチャンネル情報を確認する方法|Direct Memory Accessの仕組みも解説
サーバーのハードウェア管理をしていると、DMAという用語に出くわすことがあります。現代のサーバーではあまり意識することがなくなりましたが、Linuxサーバー管理の基礎知識として理解しておくと役立ちます。【この記事でわかること】
・cat /proc/dmaでシステムのDMAチャンネルの使用状況を確認できる・DMAはCPUを介さずにメモリとデバイス間でデータ転送を行う仕組み
・現代のPCIe接続デバイスでは/proc/dmaにほぼ表示されなくなっている
・DMAチャンネルの確認はISAバス時代のレガシーハードウェア管理で必要だった
DMA(Direct Memory Access)とは
DMA(ダイレクトメモリアクセス)は、CPUを介さずにメモリとデバイス(ハードディスク・サウンドカードなど)の間でデータを直接転送する仕組みです。CPUを経由しないことで、CPU負荷を下げながら高速なデータ転送が可能になります。DMAコントローラーが転送要求を受け付け、転送完了後にCPUに割り込みで通知する仕組みになっています。
/proc/dmaファイルとは
/proc/dma は、現在システムで使用されているDMAチャンネルの割り当て情報を表示する仮想ファイルです。more や cat コマンドで内容を参照できます。基本的な使い方
DMAチャンネル情報を表示する
[pakira@Tiger ~]$ more /proc/dma 4: cascade
システムによっては以下のような出力になることもあります。
[root@server ~]# cat /proc/dma 1: Sound Blaster8 2: floppy 3: Sound Blaster16 4: cascade
DMAチャンネルの標準的な割り当て
ISAバス時代のDMAチャンネルの標準的な割り当ては以下のとおりです。・DMA 0:未使用(予約)
・DMA 1:サウンドカードなど
・DMA 2:フロッピーディスクコントローラー
・DMA 3:利用可能(ECP パラレルポートなど)
・DMA 4:カスケード(2つのDMAコントローラーを接続するための予約)
・DMA 5~7:16ビットDMA用(ISA拡張スロット向け)
現代のシステムにおけるDMA
現代のLinuxサーバーでPCIeやUSB接続のデバイスを使用している場合、/proc/dma にはほとんど何も表示されないか「4: cascade」のみが表示されることがほとんどです。これは、PCIeデバイスがISAのDMAチャンネルを使用しないためです。現代のデバイスは「バスマスタリング」や「DMA Remapping」などより高度な仕組みでCPUを介さずにデータ転送を行っています。
本記事のまとめ
・cat /proc/dma:システムで使用中のDMAチャンネルを確認・DMAはCPUを介さないデータ転送の仕組み(CPU負荷軽減に貢献)
・DMAチャンネル4番の「cascade」は特殊用途で常に予約されている
・現代のPCIeデバイスはISA DMAを使わないため、
/proc/dma はほぼ空「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 /
詳細はこちら
Linuxサーバーのハードウェア管理を体系的に学びたい方へ
DMAの仕組みを含むLinuxのハードウェア基礎知識は、トラブルシュートやサーバー増設作業の現場で役立ちます。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
暗記不要・1時間後にはサーバーが動く
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
Linux無料マニュアル(図解60P)
名前とメールで30秒登録
